Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
为了让Servlet获得PrincipalWeb 用户的 ,他将调用HttpServletRequest#getUserPrincipal(). 根据文档null,如果用户尚未验证自己,此方法将返回。说得通。
Principal
HttpServletRequest#getUserPrincipal()
null
如果企业 Java bean (EJB) 想要获取用户的 Principal,他将调用 EJBContext#getCallerPrincipal(). 但是,根据文档,此方法永远不会返回 null。
EJBContext#getCallerPrincipal()
尽管我很遗憾无法参考任何类型的文档来说明当EJBContext#getCallerPrincipal()调用未经身份验证的用户时会发生什么,我使用 Glassfish 3.1.2.2(构建 5)进行了实验。它表明 getCallerPrincipal() 确实会返回 a Principal,并且调用该主体的toString()或getName()都返回字符串ANONYMOUS。这可能很高兴知道!