该的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"); }}
如果您在Servlet中使用JSF,则此信息将映射到HttpServletRequest公开的值。
您可以使用托管bean通过表达式语言将值公开给视图。
<f:view> <h:outputLabel value="#{rolesBean.userPrincipalName}" /> <h:outputLabel value="#{rolesBean.user}" /> <h:outputLabel value="#{rolesBean.manager}" /></f:view>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)