日期:2014-05-17  浏览次数:20672 次

[*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响应,并进行权限判断。。
------解决方案--------------------
探讨
当然会有权限code 和 url了 难道我跟据url去查code ?

------解决方案--------------------
可以定义一个flag,然后登录时取到相应的权限字段,赋予flag,根据flag的不同赋予不同的权限
------解决方案--------------------
看来问题已经解决了,我就不多说了,接分!
------解决方案--------------------
呵呵 权限学习中 顶起