前言: 在这几天也是偶然突发兴趣,想学一下springboot的安全框架,按照官方的推荐,就遇见了spring security 在其他的博客和官网了解了一下,发现这个知识点还是蛮难的,我也是花了将近三天的时间去研究了一下,当然很多人说shiro其实也不错,这个是毋庸置疑的,所以打算过几天就再去看一下shiro。
其实security的本质也就是一个过滤器,所以不要将他想的太难。
它提供了 功能认证 (Authentication)和 授权管理(Authorization)
认证:解决我是谁
授权:解决我能干啥
是不是我这样一说,就瞬间觉得好理解了很多,那么我们再以代码来加深一下
基于security的内存数据的例子我就不多说了,想必大家更喜欢,将数据放在数据库的例子。
1.创建表
其中可以看见role包含了root,admin,user三个角色,将来拥有root是最高权限,admin第二,user是个人都能访问。
2.创建实体类,并且继承UserDetails
3.然后编写UserMpper 和UserService ,没什么技术含量,我就直接上图了
4.好,接下来重头戏,身份的认证,新建一个类继承UserDetailService
5.然后就是Spring Security的配置
6.编写controller层,进行测试
7.打开网页进行测试
用admin权限登录,可以访问user和admin的权限
用user权限登录,可以访问user的权限
好了,大概基本上就是这样,也算是个入门级别的案例把,但是其中也可以感受到security的强大。