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());
가되어 다시 로그인 할 필요없이 사용자 역할을 변경할 수 있습니다. 그렇다면 어떻게 할 수 있습니까?