isAuthenticated和isFullyAuthenticated之间的区别

时间:2015-06-20 11:04:38

标签: spring spring-security

我正在努力学习弹簧安全性,我有疑问: 在Spring security

中isAuthenticated和isFullyAuthenticated之间有什么区别?

2 个答案:

答案 0 :(得分:30)

来自spring-security文档:

isAuthenticated()       Returns true if the user is not anonymous
isFullyAuthenticated()  Returns true if the user is not an anonymous or a remember-me user

所以 isFullyAuthenticated()只会验证额外的弹簧安全性是否记得我。除了用户成功通过身份验证/登录之外,功能处于非活动状态

答案 1 :(得分:11)

实际上,我认为他们在AuthenticatedVoter文档中解释得更好:

  

将检查当前Authentication以确定委托人是否具有特定级别的身份验证。

     

“FULLY”身份验证选项意味着用户已完全通过身份验证   (即AuthenticationTrustResolver.isAnonymous(Authentication) false   AuthenticationTrustResolver.isRememberMe(Authentication) false

     

如果校长是其中一员,“已记住”将授予访问权限   通过记住我进行身份验证或完全通过身份验证。该   如果校长通过身份验证,“ANONYMOUSLY”将授予访问权限   记住我,或匿名,或通过完全认证。

他们在this table of their docs中提到:

  

isAuthenticated() - 如果用户不是匿名

,则返回 true      

isFullyAuthenticated() - 如果用户不是匿名 记得我用户,则返回 true 强>