该的ExternalContext暴露用户和角色信息.
public class RolesAccess implements Serializable {
public String getUserPrincipalName() {
FacesContext context = FacesContext.getCurrentInstance();
Principal principal = context.getExternalContext().getUserPrincipal();
if(principal == null) {
return null;
}
return principal.getName();
}
public String getUser() {
FacesContext context = FacesContext.getCurrentInstance();
return context.getExternalContext().getRemoteUser();
}
public boolean isManager() {
FacesContext context = FacesContext.getCurrentInstance();
return context.getExternalContext().isUserInRole("manager");
}
}
Run Code Online (Sandbox Code Playgroud)
如果您在servlet中使用JSF,则此信息将映射到HttpServletRequest公开的值.
您可以使用托管bean通过表达式语言向视图公开值.
<f:view>
<h:outputLabel value="#{rolesBean.userPrincipalName}" />
<h:outputLabel value="#{rolesBean.user}" />
<h:outputLabel value="#{rolesBean.manager}" />
</f:view>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8647 次 |
| 最近记录: |