当与"hasRole()"一起使用时,Spring Security的"isAuthenticated()"表达式真的很必要吗?

bal*_*teo 3 spring-security

我需要澄清一下Spring SecurityisAuthenticated()内置表达式.

请参阅此处获取文档

我想知道在使用表达式isAuthenticated()时是否真的有必要或明显冗余hasRole().

Sha*_*eep 6

通常,是的,这是不必要的.该isAuthenticated()表达的目的是为了让你允许通过验证的用户访问,无论他们有什么样的角色.

除非您使用hasRole()在一个人为的方式(例如,通过选择分配给匿名用户的角色),那么就没有理由,你为什么还需要补充isAuthenticated(),因为只有经过验证的用户将分配给他们的应用程序中的角色.