Spring Security —在本例中,原则和身份验证之间有什么区别?

ht4b089n  于 2021-09-29  发布在  Java
关注(0)|答案(1)|浏览(233)

我正在学习Spring Security ,无法理解身份验证和主体之间的区别。我知道下面的代码没有逻辑连接,但据我所知,身份验证和主体都为我们提供了从当前登录的用户获取数据的可能性。

@PreFilter("filterObject.owner == authentication.name")
@PreAuthorize("hasRole('ADMIN') or principal.userId == #id")
mu0hgdu0

mu0hgdu01#

主体表示已登录的用户。Spring的 Authentication 接口扩展了 Principal 接口,所以身份验证 is a 校长。
在对用户进行身份验证之前,身份验证可以表示身份验证请求的令牌。
在用户经过身份验证后,它可以提供有关主体的额外信息,例如通过 getAuthorities(..) 在成功的身份验证之后,您可以获得主体已被授予的权限。

相关问题