关于使用SpringMVC拦截器进行权限控制的若干问题
是这样,最近小弟的公司要为之前的系统新增一套权限管理系统,但是现在有了点问题,希望大家帮忙看一下!
我现在的想法是,使用拦截器拦截一切请求,然后在拦截器中分析当前用户是否有执行当前操作的权限,如果有则通过,如果没有则跳到错误页面,但是整个系统的功能实在是太多了,实在是分析不过来,不知道各位在做权限这一块是怎么选择的呢????跪求!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果只是少量的操作要受控,那就简单实现,通过request 及用户权限信息判断是不是有权操作。
但如果系统设计之初没有考虑权限管理的话。这可不是几行代码能搞定的事情了。第一件要做的事就是权限与现有功能的梳理。
实际的编码工作量不会很多,无非是用户,角色 ,功能,操作这几个表做关联查询。
用户有哪些角色? 角色可以操作哪些功能和按钮。用户又能操作哪些功能和按钮。这样一个用户进来,就能查到这个用户允许的所有操作。 根据request跟操作的关系,就知道是不是有权限操作了。
有单独的做权限的框架啊,只需定义一些权限和url想关联就可以了,比如apache shiro,spring security。个人比较推荐shiro,用起来比较简单。
题主这种情况下Shiro是个正确的选择,整个修改不会太复杂,可以以每个URL作为粒度搭配不同的filter(权限、角色、ssl等)进行权限管理。
此外也提供了相应的taglib,对HttpSession也提供了支持。