欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

程序员文章站 2022-05-29 09:37:08
默认用户 前面的例子中我们使用的都是配置文件中配置好的默认用户: 除了可以配置账号密码,还可以在配置文件中配置角色: 这个角色是后面实现权限过滤的重要内容,后面会重点讨论。 在内存中配置默认用户 这样在配置文件中默认用户局限性还是很大的。我们想配置多个不同的用户,每个用户拥有不同的角色,并且还有最重 ......

默认用户

前面的例子中我们使用的都是配置文件中配置好的默认用户:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

除了可以配置账号密码,还可以在配置文件中配置角色:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

这个角色是后面实现权限过滤的重要内容,后面会重点讨论。

在内存中配置默认用户

这样在配置文件中默认用户局限性还是很大的。我们想配置多个不同的用户,每个用户拥有不同的角色,并且还有最重要的一点,用户的密码应该是加密的,不应该是明文。

想在内存中配置,首先要实现security配置类的 configure(authenticationmanagerbuilder auth)方法:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

然后配置密码加密方式,这里我们使用spring自带的推荐方式:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

下面是增加用户,可以直接在后面用构造的方式添加用户:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

我们添加了两个用户,下面给每个用户后面分别配置一个角色:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

这样就在内存中配置好了两个默认用户,如果有需要,还可以继续在下面增加。注意上面两个用户的密码的加密方式。

获取当前登录用户

在controller类中,获取当前登录用户的方式非常简单,有很多种:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

返回的内容都是一样的,登录成功后,可以访问此接口:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

信息中包含了用户的用户名等基本信息,已经拥有哪些角色,这些角色前面都加上了role_ 的前缀。

在代码中获取当前用户的方式是:

SpringBootSecurity学习(05)网页版登录内存中配置默认用户

返回的内容与前面的一致。

代码地址: 05