怎样通过spring mvc的Interceptor 做具体功能权限过滤

挖掘机不好开 发布于 2016/02/29 14:28
阅读 1K+
收藏 0
我的想法是,每次用户请求统一在Interceptor 里面做拦截,数据库里面存有当前角色的功能权限, 问题是我现在应该把资源在登录的时候都存到session里,还是在Interceptor 里面从数据库中取呢?
加载中
1
l
lizhi.zero

都能实现,1.用户并发数不大,每次请求都要去数据库中取,可以。

2.放session中取一次就好了,但是权限啦资源啦数据不要复杂且不大。

如果只是权限资源的读取可以考虑放缓存中(session也是一种缓存),比如本地缓存ehcache或者远程缓存redis等等memcache等等

如果优化读就用缓存(cache)。优化写就分片、切分(sharding)。

1
sss6666
sss6666
放数据库就太麻烦了,不如把权限直接加密放进session里。
1
青苗
青苗

使用 session 未来集群不好处理,推荐使用java 登录中间件,未来扩展也很方便。登录后可以将用户基本信息及权限内容放置缓存,使用的时候 SSOHelper.getSSOToken(xx) 根据 userId 或者 cacheKey 缓存中获取。

 http://www.oschina.net/p/kisso

SpringMvc 演示 demo


返回顶部
顶部