gpt4 book ai didi

java - @Secured 如何从数据库中知道用户是什么角色?

转载 作者:行者123 更新时间:2023-11-30 08:44:46 25 4
gpt4 key购买 nike

我了解@Secured 的作用,但不确定它是如何做到的。

有人可以解释一下@Secured 是如何抢占角色的吗?它是从 authorities-by-username-query 获取的吗?只要它在数据库中,我可以将任何字符串放入参数中吗?

最佳答案

用户的角色存储在 SecurityContext 中,或者更具体地说,存储在 SecurityContext 中的 Authentication 对象中。当您进行身份验证时,身份验证信息会加载并存储在安全上下文中。角色可以源自数据库,具体取决于您的配置。在您的情况下,它们是使用 authorities-by-username-query 查询加载的。

当安全拦截器处理授权(例如使用 @Secured 注释的方法级授权)时,它会根据上下文中存储的身份验证确定用户是否应该能够访问它。


为了更好地了解引擎盖下发生的事情,您应该查看 Spring 安全过滤器链Architecture section引用指南。

关于java - @Secured 如何从数据库中知道用户是什么角色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33644548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com