2016-06-17 8 views
1

У меня есть приложение Primefaces, где используется аутентификация/авторизация через JAAS, запущенную на Tomcat. Роли пользователей и защищенные папки определяются в web.xml. Моя проблема в том, что мне нужно изменить роли пользователя во время входа в систему. В принципе, мне нужно, когда пользователь нажимает кнопку, чтобы добавить ему роль администратора, чтобы он мог видеть страницы в папке/admin. Я долго искал решения, но безуспешно. Я могу видеть только зарегистрировавшееся имя пользователя и проверить, если он имеет роль по этому коду:Приложение Java JSF, динамические роли для зарегистрированного пользователя с JAAS

HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); 
request.getUserPrincipal(); 
request.isUserInRole("admin"); 

я нашел один ответ, что этот код должен работать, но я только получаю пустую Тему:

Subject.getSubject(AccessController.getContext()); 

ли можно изменить роль пользователя без необходимости повторного входа в систему, и если да, то как я могу это сделать?

ответ

0

Я установил его с автоматическим логаутом/войти в системе пользователя:.

GetRequest() выход из системы(); getRequest(). Login (имя_пользователя, newPassword);

Смежные вопросы