这是我的支持bean(部署到GlassFish):
@ManagedBean
@DeclareRoles({ "USER" })
@RolesAllowed("USER")
public class MyBean {
public MyBean() {}
public final String getId() {
Principal p = .. // how and where?
return p.getName();
}
}
我如何以及在哪里获取java.security.Principal
对象以了解现在登录的用户?
答案 0 :(得分:4)
您可以ExternalContext#getUserPrincipal()
获取。
Principal principal = FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal();