SpringSecurity初体验

前言

每当提到权限管理框架,大家一定首先会想到的就是Shiro和SpringSecurity,两者对比来说,Shiro可能说配置相对来说简单些,相反SpringSecurity会稍微复杂些,但是在现在Spring Boot和Spring Cloud满天下的时候,SpringSecurity几乎已经是最好的选择了。

初体验

创建测试项目:
新建一个springboot工程,这个就不多说了,然后添加下面的依赖。
在这里插入图片描述
依赖添加完成后,我们新建一个测试的controller,然后启动如下图
在这里插入图片描述
上面,蓝色圈主的就是SpringSecurity为默认用户 user生成的一个临时密码,类似于一个uuid随机字符串.

然后我们访问测试路径,会发现我们输入访问路径时,会自动跳转下面的登陆页面
在这里插入图片描述

路径变成login了,这是它的默认登陆页面和登录接口都是/login,只不过一个是get请求,一个是post 默认的用户名是user密码就是控制台那个打出来的随机字符串。
在这里插入图片描述
然后,用户名密码都输入正确后,就可以成功访问了。
在这里插入图片描述

然后我们接着往下看,看控制台中,有一个和配置类,可以看出,应该在这个类中,做出一一些列相关操作,进去看看
在这里插入图片描述
可以看到有一个方法,生成默认用户user密码的方法
在这里插入图片描述
上面可以看出,isPasswordGenerated方法,点进去,可以看出,用户名的定义和密码的生成方式都是在在这里进行操作的
在这里插入图片描述
但是这样,每次重新启动项目,密码都会重新生成一个新的密码,很麻烦,那我们可以通过简单的配置进行,用户名密码的设置,我们看,在这个类下面,@ConfigurationProperties注解表示了他会去加载配置类
在这里插入图片描述
所以我们只要以spring.security为前缀定义就好了啊,
在这里插入图片描述
然后重启项目进行测试:
在这里插入图片描述
最后同样成功
在这里插入图片描述

这是通过配置文件的方式,我们还可以通过配置类进行用户名和密码的设置。

创建配置类SecurityConfig,然后继承WebSecurityConfigurerAdapter,并且重写里面的configure方法:
在这里插入图片描述
这里需要说一下PasswordEncoder,它的作用主要就是对密码进行一定规则加密解码的,它里面有三个实现方法。
在这里插入图片描述

我们在进行配置用户名和密码的时候是必须有它的,不然会报错,如下图
在这里插入图片描述
所以最后我们的配置类,写成这样就可以了
在这里插入图片描述

然后重启项目,用我们设置的用户名和密码就可以登录了。

它里面还有其他的一些我们常用的配置可以看下,我们接着重写里面的
在这里插入图片描述
然后
在这里插入图片描述
上面配置中我们配置loginPage("/login.html")为login.html,springSecurity会默认我们提供一个post请求的login.html接口,所以前端页面的请求的action必须为login.html
在这里插入图片描述

总结

上面简单说了SpringSecurity中的一些常见配置,和初始化默认表单登录的校验,以及自己可以简单的通过配置文件和配置类,来自定义自己的用户名或者密码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值