spring security 的核心功能主要包括:
- 认证 (你是谁)
- 授权 (你能干什么)
- 攻击防护 (防止伪造身份)
小颖分享学习过程而已,并不是教程有很多不足欢迎大佬点评
亲身经历过写拦截器的小伙伴应该都知道,手写权限认证是什么样的感受,那酸爽,无话可说。但是今天小颖学习了spring家族的springsecurity,发现了新大陆啊,真的太好用了。简直就是用哪个点(.)哪个,.的链试编程。
下面分享小颖的入门
- 首先肯定是pom依赖
使用Thymeleaf模板,其实我是想做前后端分离的。但是先按教程慢慢来吧,后面自己做项目就分离。
- 搭建实验环境
3个层级的HTML页面,来做权限管理。如果前后端分离,那请求路径怎么请求又要研究了
- 开始写配置类@Configuration
授权,三个vip不同权限,看到那些点没,链条一样的代码。小颖对授权这块理解就是,.antMatchers("你请求的路径").hasRole("你授权的角色"),只有对应的角色可以请求对应的路径,不知道大家咋理解的。
认证,赋予该用户角色。小颖这里是直接在内存使用用户,没有连接mySQL,从数据库查。明天学习shrio的时候再使用MySQL,到时候再整合吧。其实看代码就是知道,withuser就是账号,password就是密码。然后再只要简简单单给ta一个角色授权就可以,是不是很简单。再请求路径都被这个角色管理,达到权限控制。
springsecurity自己用记住我和注销功能,两行代码就可以实现。一般都不会用springsecurity默认的登录界面,所以只要.loginPage("你的登录页面")。要注意的就是form表单input的name值,约定大于配置记住这个
spring都帮我们配好了~~~
其实springsecurity看源码就会知道用,都写的明明白白。不信看看下面这张图
源码里面的注释教你怎么使用,自我感觉比一些博客还好。还有一点不要害怕看英文文档,小颖都是开电脑就打开翻译软件,随时准备翻译不然英语怎么提升
睡觉了睡觉了~不睡好,明天怎么写代码,这就是今天学的security,明天就shrio。弱弱的问一下,大佬们用啥写前端?小颖现在都是有hb写,第一篇分享的小程序就是用uniapp做的,不知道大家用过没?