一个用户可以拥有多种角色,但同一时刻用户只能用一种角色进入系统,角色与权限的关系是一对多的关系。角色的划分方法可以根据实际情况划分,我们项目是按部门或机构进行划分的,至于角色拥有多少权限,这就看系统管理员赋给他多少的权限了。我觉得(用户―角色―权限)的关键是角色。
用户登陆时是以用户和角色两种属性进行登陆的(因为一个用户可以拥有多种角色,但同一时刻只能扮演一种角色),根据角色得到用户的权限,登陆后进行初始化。好象不复杂呀。
这其中的技巧是同一时刻某一用户只能用一种角色进行登陆
具体的可以看 OASIS 的文档。
现在就是因为各种权限系统太分散,我才觉得应该有一个可以集中管理与控制的途径。老的系统不可能要求它融入新的构架中来,但一旦能确定这样的架构,我们会一步步地说服客户,将老的系统迁移到新的系统架构中来
http://jguard.sourceforge.net/
这个框架设计是基于RBAC理念,和基于容器的JAAS实现有所不同,但大致原理是一致的。
基于容器的JAAS实现:
。http://www.jdon.com/idea/jaas/06003.htm
角色就是一个或多个权限的集合。他本身没有意义,只有赋予User才有意义后两都结合起来才有意义。
权限却具有特定意义。
欢迎大家进入我的BLOG进行讨论。(http://blog.sina.com.cn/u/1253356484)