1
웹 응용 프로그램에서 응용 프로그램이 배포되는 tomcat에 현재 로그인 한 사용자의 사용자 이름과 암호 또는 사용자 역할을 프로그래밍 방식으로 어떻게 알 수 있습니까?tomcat과 web-app 간 사용자 역할 공유
웹 응용 프로그램에서 응용 프로그램이 배포되는 tomcat에 현재 로그인 한 사용자의 사용자 이름과 암호 또는 사용자 역할을 프로그래밍 방식으로 어떻게 알 수 있습니까?tomcat과 web-app 간 사용자 역할 공유
이 정보는 HttpServletRequest
에 있으며 본질적으로 따라서 ExternalContext
입니다.
다음과 같은 방법을 사용할 수 있습니다
String username = externalContext.getRemoteUser();
UserPrincipal principal = externalContext.getUserPrincipal();
boolean admin = externalContext.isUserInRole("ADMIN");
당신은 보안상의 이유로 어떤 방식으로 암호를 얻을 수 없습니다.
HttpServletRequest
은 EL에서 #{request}
으로 사용할 수 있습니다. 따라서 다음 사항도 가능해야합니다.
<p>Welcome, #{request.remoteUser}</p>
<h:panelGroup id="adminPanel" rendered="#{request.isUserInRole('ADMIN')}">
...
</h:panelGroup>
고마워요. 웹 응용 프로그램에서 tomcat 사용자를 로그 아웃하려면 어떻게해야합니까? –
'ExternalContext # invalidateSession()'에 의해 빈의 동작 메쏘드에서 세션을 무효화합니다 (그리고 이후에 리다이렉트를 보냅니다). – BalusC
tomcat 세션이 무효화되지 않습니다. 다른 브라우저에서 모든 메소드를 시도했습니다. tomcat 로그 아웃을 허용하기 위해 톰캣 구성에서 설정해야하는 것이 있습니까? –