[*100分来讨论*]关于权限你们是如何控制的?来讨论下吧
1.想控制到每一个按钮的显示,
2.想动态分配 可以按角色分配 组分配(不知道是不是还要可以直接给用户分配权限)我现在是想用户分配-》角色-》分配 权限这种模式
3.都要建什么表呢?
4.如何遍历一个用户的所有权限?循环?是否会影响速度.
5.系统启动权限加载到缓存,加快页面响应速度等.
6.不能直接地址栏输入http://localhost:8080/webapp/userInfo/delUser.do?id=1222 这样进行删除操作(如果用户进入这个页面,虽然没有看到按钮,但是他这样非法操作肯定会可以的,所以要控制掉)。
[解决办法]
用户 -->角色 -->权限
用户登录时,把对应的角色权限读取到map中
[解决办法]
要看系统对于权限的要求有多复杂。大部分情况下都是基于Role-Base模型,也就是1楼所说的模型。
但实际上有的业务系统会有更多级别的权限模型,比如增加 岗位、数据权限 等,此外还会有特殊权限脱离角色直接挂用户的要求。
简易Role-Base模型下,一般是:
把 “角色 <--> 权限” 映射表,直接装载入内存中(需要有更新机制)。
用户登录时,在Session中存放其角色。
至于对访问的控制,可以直接借助中间件的JAAS,或者用Spring提供的安全模型,或者自己写Filter;途径很多,如果权限模型不复杂的话,用Spring提供的安全模型就挺好的了。
[解决办法]
用户对应多个角色,一个角色对应多个权限,一个权限对应一个url,登陆的时候把用户的权限保存到session中。在拦截器中拦截每一个url响应,并进行权限判断。。
[解决办法]