springboot 框架,请问大佬都是怎样实现权限控制的?是基于 Shiro 安全框架或者 Spring Security 安全框架或者是其他方式?哪种方式较为轻便?配合 springboot 更适合?
1
jx99 2018-11-14 15:40:51 +08:00
我用 spring security,据说跟 Shiro 对比,security 会稍微复杂一点,不过我没用过 Shiro 不知道到底对比如何。这方面应该网上有很多技术选型的分析博文。
|
2
Bryan0Z 2018-11-14 15:42:26 +08:00 via Android
spring security +1
有点复杂… |
3
youngxhui 2018-11-14 15:44:03 +08:00 via Android
没用过 shiro,spring security 感觉还好
|
4
godoway 2018-11-14 15:46:30 +08:00
配过 shiro,一头雾水
最后还是用 security 了,security 的配置挺舒服的。 |
5
zgcwkj 2018-11-14 15:48:25 +08:00
我在学习 SpringBoot 呢!好不清楚这些怎么控制
|
6
xiaoxinshiwo 2018-11-14 16:28:13 +08:00
shiro 简单点
spring security 稍显复杂 |
7
Mrbird 2018-11-14 16:54:00 +08:00
|
8
idamien 2018-11-14 17:02:49 +08:00
Spring Security 剩下的就是老路子 配置配置配置问题!
|
9
TommyLemon 2018-11-14 17:15:17 +08:00 1
自动化的权限控制了解下,3 行代码就可配置每种角色对一张表的增删改查权限。
我们用 APIJSON 来操作一张表,例如用户表 User,代码写 3 行就够了: //注册表并添加权限,用默认配置 @MethodAccess public class User { //内容一般仅供表字段说明及 Android App 开发使用,服务端不用的可不写。 } //Verifier 内添加权限 accessMap.put(User.class.getSimpleName(), getAccessMap(User.class.getAnnotation(MethodAccess.class))); 然后运行下 Server 工程就可以请求了: URL: http://apijson.cn:8080/get 表单: { "User": { "id": 82001 } } 返回: { "User": { "id": 82001, "sex": 0, "name": "Test", "tag": "APIJSON User", "head": "http://static.oschina.net/uploads/user/19/39085_50.jpg", "contactIdList": [ 82004, 82021, 70793 ], "pictureList": [ "http://common.cnblogs.com/images/icon_weibo_24.png" ], "date": "2017-02-01 19:21:50.0" }, "code": 200, "msg": "success" } 或者可以再定制下 POST 请求的角色权限: //只允许未登录角色和管理员角色新增 User,默认配置是{UNKNOWN, LOGIN, CONTACT, CIRCLE, OWNER, ADMIN} @MethodAccess( GET = {LOGIN, CONTACT, CIRCLE, OWNER, ADMIN} ) public class User {} 再直接像上面那样请求就会报错: { "User": { "id": 82001 }, "tag": "User", "code": 407, "msg": "未登录,请登录后再操作!" } 登录后就和上面一样返回正确的结果。 不用写代码 APIJSON 3.5K Star 超第 2 大 ORM 库 Hibernate https://www.v2ex.com/t/507671#reply7 |
10
lj3lj3 2018-11-14 17:34:58 +08:00
我觉得 Shiro 配置也不简单😂 没有使用过 Spring Security 无法对比
|
11
iyangyuan 2018-11-14 18:05:40 +08:00 via iPhone
https://github.com/iyangyuan/security
自写自用,完全基于注解,用 redis 做分 session 布式存储 |
12
vjnjc 2018-11-14 18:11:43 +08:00
肯定 spring 官方的啊 spring security
|
13
mmdsun 2018-11-14 19:39:08 +08:00 via Android
自己写拦截器最简单。或者 shiro。spring security 有些复杂
|
14
wolfie 2018-11-14 19:45:32 +08:00
看过 shiro 视频,每个方法上加授权注解就行。
|
15
jakes 2018-11-14 20:02:48 +08:00 via iPhone
用的 shiro,很简单
|
16
xuanbg 2018-11-14 21:19:44 +08:00
自己实现的一套基于 Token 的权限体系,核心代码也就几百行。发放给用户的 Token 很简单,就是一个 Base64 编码的字符串,也就几十个字符。对应的令牌数据比较复杂,是存在 Redis 上的。因为鉴权所需的数据都在 Redis 上,所以鉴权可以很方便地统一在网关上实现,而且基本上不会因鉴权造成延时。
|
17
flzyup 2018-11-15 10:47:05 +08:00
刚实现了一个:shiro + jwt token shiro 比较轻量 简单易懂 security 比较全 相对比较复杂
|