忙了一年,终于有时间来和大家聊聊 ‘’系统权限框架‘’ 的事情。 当然,我是想在这一篇文章中把 我们工作中用到的权限框架都写写完,所以这篇文章会持续的更新。
这篇文章主要面向的是还没玩过权限框架的朋友,所以我尽量把事情说的简单,让你们能看的懂。 那么开始第一个话题
-
系统权限框架是做什么的?
按我的理解,系统的权限框架主要做的就两件事: 第一件事: 认证( authentication) 第二件事:授权(authorization )
那问题来了 认证是什么?授权又是什么? 那我来解释下:
先说认证, 其实你可以先简单理解为就是登录,认证认证,从字面上理解,就是认识你,知道你是谁。而从系统的角度来看,要让系统知道你是谁,你不就是登录么。所以认证你可以简单理解为就是登录;再来说下授权,其实授权就是决定了你能在这个系统里面做什么。比如说,张三登录系统后,能删除用户列表的信息,李四登录系统后,不能删除用户列表的信息,这就是他们在这个系统里面能做的事不一样。
-
目前主流的权限框架有哪些?
目前能做权限框线的,比较常用的有两个,一个是 Apache Shiro ,一个就是今天要说的 Spring Security。
在以前没有springboot的时候,shiro在公司里面用的是很多的,简单,强大。 而现在有了springboot后,Spring Security 有种逐渐替代shiro的感觉,我所在单位就是这样,慢慢的都玩Spring Security了,用起来就是简单,更加强大,也灵活,起飞的感觉。如果你问我学哪个的话,我建议是都学把。如果你一定要问我就学一个,我学哪个? 那就学 Spring Security把,毕竟现在感觉就是spring全家桶的年代!
3 如何在springboot 中集成 spring security
这个集成,说实话,不要太简单! 你只需要在 你的springboot 项目的pom文件中加入一个依赖即可。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
然后启动你的springboot项目,观察下 控制台有没有出现 Using generated security password: xf3fxbx2-eb22-4578-8963-2a4x53f3944e,如果有看到这个,就可以说明你的集成就成功了! 最后就可以在浏览器中输入 http://localhost:[端口号],会就跳出spring security 自带的登录页面 ,这里 用户名是 user 密码就是 控制台输出的 Using generated security password: xf3fxbx2-eb22-4578-8963-2a4x53f3944e 冒号后面的部分 ,我这里是xf3fxbx2-eb22-4578-8963-2a4x53f3944e