关于权限管理的一些疑问?

metadmin 2009-09-16
metadmin产品完全是自主知识产权的,而且是发明专利技术,所以我也不好讲。更多信息基本上,你可以从网站上面获取到。

基于ACL的实现,数据量大非常不合适。

规则引擎,倒是有很多免费开源的。
jieyuan_cg 2009-09-17
metadmin 写道
metadmin产品完全是自主知识产权的,而且是发明专利技术,所以我也不好讲。更多信息基本上,你可以从网站上面获取到。

基于ACL的实现,数据量大非常不合适。

规则引擎,倒是有很多免费开源的。

好的,多谢圈主。
metadmin 2009-09-17
相关权限问题,也欢迎来这里讨论: http://www.metadmin.com/forum/forums/list.page

这里有我们公司更多同事在里面,也可以多谈关于metadmin的事情。
julyboxer 2009-09-17
一切都是文件解析呀。。。
smilebug 2009-09-18
jieyuan_cg 写道
xiantiaolang 写道
jieyuan_cg 写道

问题一:如果采用用户,资源,用户资源,角色,用户角色这种方式来控制访问,扩展性会不会有问题?还是上面那个例子,假如我有5个部门,是不是要针对每个部门都建立一个角色,然后对相应的部门人员授予该部门的角色?但如果,我有30个部门呢?每个部门都新建一个角色吗?那50个呢?


我觉得引入角色组和用户组就容易多了

愿闻其详~
引入角色组和用户组怎么来解决这个问题呢?

另外:引入角色组或者用户组,是不是还涉及到一个用户与角色组,用户与用户组,用户与真正的组织机构之间的同步问题??
比如:张三从部门A调到部门B,这时候,除了维护组织机构与用户的关系,还必要要维护用户与角色组,用户与用户组的关系?如果直接用组织机构与用户的关系来判断,是否是一种更好的方式呢?


这种情况分级处理就比较好处理了,比如公司里有五个大部门,每个大部门下面又有6个小部门,共有30个部门。但是分权限时,管理员只针对五个大部门定义部门资源,并指定每个部门的管理员。下面每个部门的资源和角色定义就分到每个部门管理员去了。下一级的部门管理员只能分配自己部门的资源,分配本部门的用户。当然他也可以再指定下一级的管理员,分配给下一级管理员资源,让再下一级的管理员去建立角色分配资源和用户。这就叫权力下放,嘿嘿
对于部门调换或者用户组变换,因为资源不是直接对应到用户的,所以不会有什么影响。查找用户资源都是从通过用户找到用户组再找到角色和直接通过用户找到角色,最后找到对应的资源的取并集。

leiqiang 2009-09-20
可以在rbac的基础上扩充 部门权限,同时可以把权限做一个自定义模块 自定义任何权限。
jieyuan_cg 2009-09-20
smilebug 写道
jieyuan_cg 写道
xiantiaolang 写道
jieyuan_cg 写道

问题一:如果采用用户,资源,用户资源,角色,用户角色这种方式来控制访问,扩展性会不会有问题?还是上面那个例子,假如我有5个部门,是不是要针对每个部门都建立一个角色,然后对相应的部门人员授予该部门的角色?但如果,我有30个部门呢?每个部门都新建一个角色吗?那50个呢?


我觉得引入角色组和用户组就容易多了

愿闻其详~
引入角色组和用户组怎么来解决这个问题呢?

另外:引入角色组或者用户组,是不是还涉及到一个用户与角色组,用户与用户组,用户与真正的组织机构之间的同步问题??
比如:张三从部门A调到部门B,这时候,除了维护组织机构与用户的关系,还必要要维护用户与角色组,用户与用户组的关系?如果直接用组织机构与用户的关系来判断,是否是一种更好的方式呢?


这种情况分级处理就比较好处理了,比如公司里有五个大部门,每个大部门下面又有6个小部门,共有30个部门。但是分权限时,管理员只针对五个大部门定义部门资源,并指定每个部门的管理员。下面每个部门的资源和角色定义就分到每个部门管理员去了。下一级的部门管理员只能分配自己部门的资源,分配本部门的用户。当然他也可以再指定下一级的管理员,分配给下一级管理员资源,让再下一级的管理员去建立角色分配资源和用户。这就叫权力下放,嘿嘿
对于部门调换或者用户组变换,因为资源不是直接对应到用户的,所以不会有什么影响。查找用户资源都是从通过用户找到用户组再找到角色和直接通过用户找到角色,最后找到对应的资源的取并集。



这个思路不错,多谢兄弟~
以前一直没有考虑到权力下放这个层次,一直想用一个管理员把所有东西都管起来~
jieyuan_cg 2009-09-21
leiqiang 写道
可以在rbac的基础上扩充 部门权限,同时可以把权限做一个自定义模块 自定义任何权限。

部门权限?是说权限的一种分类吗?那30个部门,是否还必须有30个部门权限对应呢?
呵呵,劳烦详细说一下。
rappy 2009-09-21
jieyuan_cg 写道
问题一:
   目前,一般所做的权限设计都是RBAC,也就是基于角色的。但基于组织机构的资源分配,是否应该纳入权限管理的范围?比如:同样类型的资源,每个部门都只能查看属于自己部门的那一部分资源。这种情况下,访问同类型的资源时,用的uri是一样的,只是参数不同。这样的场景,是否应该也用权限管理来控制?

问题二:
   b/s结构的系统,权限控制更多的是基于url的控制,对业务方法的控制倒是其次(对于安全性要求不高的系统)。url的访问控制总是要进行访问后才进行拦截控制。而更好的用户体验是,如果该用户没有该功能的操作权限时,就不要把相应的操作显示出来。像这种情况,是否应该写两套验证,一个是基于url,filter的,另外一个是基于控制操作显示的?

问题三:
   针对以上两问题,有没有大拿做过针对springsecurity的实现?可否赐教?


问题一:基于角色跟基于组织机构没冲突。角色可以灵活配置,例如可以做层级嵌套,父角色、子角色之类的。可以给每个组织机构分配角色,也可以给多个组织机构分配,主要看应用的权限分布情况。对于URI一样,参数不同的资源,也照样可以用权限管理来控制,可以添加自己的资源类,将其纳入RBAC系统。

问题二:acegi已经提供了两种级别的权限控制:一是基于URL的,一是基于METHOD。至于在用户界面上的显示控制,这个也完全可以基于acegi的,可以在生成界面时解析用户当前权限,再做区分显示。不过这个肯定会对页面生成的速度产生影响了。如果用户权限比较固定的话,可以做权限缓存来改善,不过这本身又带来了安全隐患。

问题三:做过,确实存在性能的问题,但具体没有做过这方面的测试无法给出参考数据。
wanghualeilei 2009-09-22
权限控制分两类 功能权限和数据权限
Global site tag (gtag.js) - Google Analytics