Klasa \core\RoleUtils zawiera kilka metod pozwalających na zarządzanie rolami aktualnie logującego się lub zalogowanego użytkownika (dodawanie, usuwanie) oraz weryfikację posiadania podanej roli.

Metody klasy \core\RoleUtils

RoleUtils::addRole($role)

dodaje rolę użytkownikowi (np. "admin"). Najczęściej wywołuje się tę metodę w momencie poprawnego zalogowania użytkownika. Wpisuje ona rolę do wewnętrznej tabeli frameworka Amelia i zapisuje ją w sesji. Tym sposobem router może je weryfikować przy kolejnych odwołaniach do akcji wymagających posiadania danej roli.

Liczba dodawanych ról nie jest ograniczona.

RoleUtils::removeRole($role)

analogicznie - usuwa rolę użytkownikowi. Usuwa podaną rolę (np "user") oraz aktualizuje zapisy w sesji.

RoleUtils::inRole($role)

zwraca true gdy użytkownik aktualnie wykonujący dany skrypt posiada daną rolę. Przykładowo RoleUtils::inRole("admin") użyte w warunku pozwala sprawdzić, czy użytkownik posiada rolę "admin". Można używać tej metody w kontrolerach, jak i widokach Smarty w celu ukrywania niedostępnych opcji.

RoleUtils::requireRole($role, $fail_action = null)

metoda zaprojektowana do użycia w kontrolerach pozwalając ustrzec wywołanie jakiejś części kodu gdy użytkownik nie posiada wskazanej roli. Ogólnie przed takimi sytuacjami chroni router, jednak w sytuacjach gdy dopuszczamy do pewnej akcji kilka ról to dany mechanizm może być użyteczny. Przykład użycia: RoleUtils::requireRole("admin") - spowoduje przejście do domyślnej strony braku uprawnień (definiowanej w routingu) w razie gdyby użytkownik wykonujący dany skrypt nie posiadał roli "admin".