0

为了让Servlet获得PrincipalWeb 用户的 ,他将调用HttpServletRequest#getUserPrincipal(). 根据文档null,如果用户尚未验证自己,此方法将返回。说得通。

如果企业 Java bean (EJB) 想要获取用户的 Principal,他将调用 EJBContext#getCallerPrincipal(). 但是,根据文档,此方法永远不会返回 null

那么它返回了什么?

4

1 回答 1

0

尽管我很遗憾无法参考任何类型的文档来说明当EJBContext#getCallerPrincipal()调用未经身份验证的用户时会发生什么,我使用 Glassfish 3.1.2.2(构建 5)进行了实验。它表明 getCallerPrincipal() 确实会返回 a Principal,并且调用该主体的toString()getName()都返回字符串ANONYMOUS。这可能很高兴知道!

于 2013-02-22T17:39:49.573 回答