Spring Security 和自定义身份验证提供程序
我有一个自定义 AuthenticationProvider
,它只返回 authenticate
方法的 Authentication
对象。我想要做的是在用户登录时为他们添加一个角色。这是出于演示目的,所以我想要的只是用户输入用户名并让他们进入。我需要为他们分配管理员角色。
I have a custom AuthenticationProvider
that simply returns the Authentication
object for the authenticate
method. What I want to do is add a role to the user when they log in. This is for demo purposes, so all I want is the user to enter a username and let them in. I need to assign them the admin role.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当然,有多种方法可以实现这一目标。
我的首选是在自定义
UserDetailsService
。唯一的方法是loadUserByUsername
,这将返回用户详细信息
。当您构建UserDetails
时,您可以添加任何GrantedAuthority
你想要的。因此,首先,您将在应用程序上下文配置文件中声明自定义
UserDetailsService
:然后编写类本身:
There are, of course, several ways to achieve that.
My preferred one is do this in a custom
UserDetailsService
. The only method isloadUserByUsername
, that will return an instance ofUserDetails
. When you are constructing yourUserDetails
, you can add whateverGrantedAuthority
you want.So first, you'll declare your custom
UserDetailsService
in your application context configuration file:Then you write the class itself: