这个例子中principal和authentication有什么区别?
What is the difference between principle and authentication in this example?
我正在学习 Spring 安全性,无法理解身份验证和主体之间的区别。我确实明白下面的代码在逻辑上没有联系,但据我所知 authentication 和 principal 让我们有可能从当前登录的用户。
@PreFilter("filterObject.owner == authentication.name")
@PreAuthorize("hasRole('ADMIN') or principal.userId == #id")
Principal代表登录的User。 Spring 的 Authentication
接口扩展了 Principal
接口,因此 Authentication is a
Principal.
在用户通过身份验证之前,Authentication 可以代表身份验证请求的令牌。
用户通过身份验证后,它可以提供有关委托人的额外信息,例如通过getAuthorities(..)
认证成功后,可以获取委托人被赋予的权限
我正在学习 Spring 安全性,无法理解身份验证和主体之间的区别。我确实明白下面的代码在逻辑上没有联系,但据我所知 authentication 和 principal 让我们有可能从当前登录的用户。
@PreFilter("filterObject.owner == authentication.name")
@PreAuthorize("hasRole('ADMIN') or principal.userId == #id")
Principal代表登录的User。 Spring 的 Authentication
接口扩展了 Principal
接口,因此 Authentication is a
Principal.
在用户通过身份验证之前,Authentication 可以代表身份验证请求的令牌。
用户通过身份验证后,它可以提供有关委托人的额外信息,例如通过getAuthorities(..)
认证成功后,可以获取委托人被赋予的权限