1
hly9469 2021-01-22 08:06:44 +08:00 via iPhone
security
|
2
iceneet 2021-01-22 08:20:18 +08:00
security 或者 shiro
|
3
jorneyr 2021-01-22 09:10:25 +08:00
我个人比较喜欢 Spring Security 。
|
4
yisheyuanzhang 2021-01-22 09:19:34 +08:00
单体项目 spring security 直接用 session 就行了。 分布式 /微服务用 spring security oauth2.0
写过一个单体的 demo https://gitee.com/zhaoydo/uaa-demo |
5
totoro52 2021-01-22 09:24:24 +08:00
小项目 shiro 够用 如果想要使用 spring 家族的就上 security 不过 shiro 的学习成本很低,一天就可以上手,security 很重,涉及的执行流程很多,小白慎入,光配置就很复杂。
|
6
totoro52 2021-01-22 09:24:53 +08:00
还有 shiro 整合到 spring 会有一些坑,需要留意
|
7
threeEggs123 2021-01-22 09:29:53 +08:00 via Android
前面加一层网关,在网关上面做。我们用的是 aws gateway
|
8
Jrue0011 2021-01-22 09:31:21 +08:00
我也偏向 Spring Security,主要是和 Spring 集成比较好。。。
|
9
totoro52 2021-01-22 09:33:34 +08:00
@Jrue0011 是的 当初项目采用他就是因为好集成 不过最强大的还是他的 oauth2 如果只做简单的授权我还是推荐 shiro 虽然我讨厌的 shiro 的配置 没有 security 来的优雅
|
10
ccppgo 2021-01-22 09:39:10 +08:00
@yisheyuanzhang 老哥你能把开源许可证加上吗
|
11
wozhizui 2021-01-22 10:00:03 +08:00
选 Spring Security,集成 spring boot 比较好,最近也在做 spring 的企业项目,收藏下此帖子。
|
12
zzzmh 2021-01-22 10:04:28 +08:00
如果业务不复杂就自己写咯,用 jwt token,数据库开一个权限字段,然后在拦截器里面做鉴权
|
13
yisheyuanzhang 2021-01-22 10:06:50 +08:00
@ccppgo 谢谢提醒,已加
|
14
tianhei826 2021-01-22 10:41:14 +08:00
做个 cop
|
15
echo1937 2021-01-22 10:43:31 +08:00
Spring Security,配置倒是不复杂,就是学习路线陡峭一点。
|
16
cheng6563 2021-01-22 13:41:01 +08:00
Spring Security 太重了,就算花时间配好,过一过月就完全看不懂配了啥。
有时候要改点功能也无从下手。 建议直接自己写了,也不是个多复杂的组件。 |
17
shaoyijiong 2021-01-22 17:26:11 +08:00
自己手写比较好 在网关拦截下
通过用户信息和接口地址来判断是否有权限访问该接口 |
18
lvxiaomao 2021-01-22 17:50:33 +08:00
可以使用切面方式,自己写一个吧
|
19
KuroNekoFan 2021-01-22 17:56:42 +08:00 via iPhone
切面做基础的用户验证,细粒度的就要侵入到业务代码里了
|
20
liian2019 2021-01-22 18:00:25 +08:00
入门搞 shiro
|
21
tomsun28 2021-01-22 18:09:45 +08:00
sureness https://github.com/tomsun28/sureness
|
22
ys2016814 2021-01-22 18:16:38 +08:00
切面加注解实现
|
23
hsluoyz 2021-01-25 00:26:09 +08:00
可以试试 Casbin Java 版本
|
24
jss OP @ys2016814 我自己写的就是切面加注解,但是有个问题 接口有参数验证时,会先验证参数 后进行权限验证,我是在 doBefore (目标方法调用之前执行)进行验证逻辑的
@lvxiaomao @KuroNekoFan |
25
ys2016814 2021-01-28 09:27:27 +08:00
@jss 我们有一个本地的线程缓存会在 doFilter 中将重要信息(比如此人的角色角色标识,权限标识,)注册进去,在 destroy 中清除掉,伴随整个访问的生命周期,就可以达成,不同角色展示不同菜单,不同数据,有不同权限
|
26
SkyLine7 2021-03-02 14:03:30 +08:00
自己写一个 拦截器+aop
|