使用 Spring 安全注释 isFullyAuthenticated v/s hasRole
Using Spring Security Annotations isFullyAuthenticated v/s hasRole
作为 spring 安全注释的新手,我无法理解以下两行之间的真正区别。这是否意味着 hasRole 隐式检查身份验证?
- @PreAuthorize("isFullyAuthenticated() and hasRole('activateUser')")
+ @PreAuthorize("hasRole('activateUser')")
void activateUser(String username);
根据 spring 文档,
isFullyAuthenticated() Returns true if the user is not an anonymous or a remember-me user
Does it mean that hasRole implicitly checks for authentication?
不绝对。它可能是 hasRole("ROLE_ANONYMOUS") ,这意味着未经过身份验证的用户。
另请注意,isFullyAuthenticted() 与 isAuthenticated() 不同,因为前者需要显式身份验证,而后者更宽松地接受记住我身份验证的用户。但在大多数情况下,hasRole 与真实角色一起使用,这至少意味着 isAuthenticated()。
所以区别在于第一行要求用户进行显式身份验证(不记得我)。
作为 spring 安全注释的新手,我无法理解以下两行之间的真正区别。这是否意味着 hasRole 隐式检查身份验证?
- @PreAuthorize("isFullyAuthenticated() and hasRole('activateUser')")
+ @PreAuthorize("hasRole('activateUser')")
void activateUser(String username);
根据 spring 文档,
isFullyAuthenticated() Returns true if the user is not an anonymous or a remember-me user
Does it mean that hasRole implicitly checks for authentication?
不绝对。它可能是 hasRole("ROLE_ANONYMOUS") ,这意味着未经过身份验证的用户。 另请注意,isFullyAuthenticted() 与 isAuthenticated() 不同,因为前者需要显式身份验证,而后者更宽松地接受记住我身份验证的用户。但在大多数情况下,hasRole 与真实角色一起使用,这至少意味着 isAuthenticated()。
所以区别在于第一行要求用户进行显式身份验证(不记得我)。