2016-06-17 6 views
1

Tomcat에서 JAAS를 실행하는 인증/권한 부여를 사용하는 Primefaces 응용 프로그램이 있습니다. 사용자 역할과 보안 폴더는 web.xml에 정의되어 있습니다. 내 문제는 그가 로그인 할 때 사용자 역할을 변경해야한다는 것입니다. 기본적으로 사용자가 버튼을 클릭하여 관리자 역할을 추가하면 관리자가/admin 폴더의 페이지를 볼 수 있습니다. 나는 해결책을 찾기 위해 오랜 시간을 찾고 있었지만 성공하지 못했습니다. 난 단지 기록 된 사용자 이름을보고 확인, 그는이 코드에 의해 역할이 있으면 할 수Java JSF app, JAAS를 사용하여 로그인 한 사용자의 동적 역할

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

이 코드가 작동해야 하나 답을 발견,하지만 난 단지 널 주제를 얻을 :

Subject.getSubject(AccessController.getContext()); 

가되어 다시 로그인 할 필요없이 사용자 역할을 변경할 수 있습니다. 그렇다면 어떻게 할 수 있습니까?

답변

0

I는 자동으로 로그 아웃을 고정/사용자 로그인 :.

대해 GetRequest()를 아웃(); getRequest(). login (userName, newPassword);