在tomcat和web-app之间共享用户角色

时间:2012-05-28 10:21:49

标签: java apache tomcat jsf-2

如何在我的网络应用程序中以编程方式知道当前登录到部署了应用程序的tomcat的用户的用户名和密码或用户角色?

1 个答案:

答案 0 :(得分:4)

此信息可由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>