关于用户角色权限管理一点想法

banq 02-09-21
    

能不能归纳出一个通用的用户角色权限管理?答案是肯定的,其实这可以使用工作流机制实现。

确定好用户权限系统中的实体是系统分析的首要工作,我比较同意这样一种划分:

1.访问者(User)
2.被访问者
3.权限

以上三个各自都是自成系统,关键是在这三者之间制定规则,这样的规则是复杂的,静态的,也可以是动态的,有条件限制和时间限制。
系统的难点是在如何开发出一套通用的规则制定上,看来使用if else这样的计算机化形式不是一个很好的办法,因为不是所有的用户都有计算机人员那样严明的逻辑思考和归纳能力。



    

浆糊
2002-09-22 13:02

JAAS不是很好的吗?我不是太了解

其实工作流中的组织模型和权限也是一个比较麻烦的事情,问题在于扩展和通用。如果写死的,还是挺简单

banq
2002-09-22 13:41

JAAS完成简单的用户验证是没问题,但是对于象网站引擎系统这样大系统,用户验证是很重要的部分,而且需要自定义,我觉得就最好自己来做了。

wys1978
2002-09-22 19:09

F.Y.I
An universal security data model defination from an open source project.

<entity entity-name="SecurityGroup"
package-name="org.ofbiz.commonapp.security.securitygroup"
title="Security Component - Security Group Entity">
<field name="groupId" type="id-ne"></field>
<field name="description" type="description"></field>
<prim-key field="groupId"/>
<relation type="many" rel-entity-name="UserLoginSecurityGroup">
<key-map field-name="groupId"/>
</relation>
<relation type="many" rel-entity-name="SecurityGroupPermission">
<key-map field-name="groupId"/>
</relation>
</entity>

<entity entity-name="SecurityGroupPermission"
package-name="org.ofbiz.commonapp.security.securitygroup"
title="Security Component - Security Group Permission Entity">
<description>Defines a permission available to a security group; there is no FK to SecurityPermission because we want to leave open the possibility of ad-hoc permissions, especially for the Entity Data Maintenance pages which have TONS of permissions</description>
<field name="groupId" type="id-ne"></field>
<field name="permissionId" type="id-long-ne"></field>
<prim-key field="groupId"/>
<prim-key field="permissionId"/>
<relation type="one" rel-entity-name="SecurityGroup">
<key-map field-name="groupId"/>
</relation>
<relation type="one" rel-entity-name="SecurityPermission">
<key-map field-name="permissionId"/>
</relation>
</entity>

<entity entity-name="SecurityPermission"
package-name="org.ofbiz.commonapp.security.securitygroup"
title="Security Component - Security Permission Entity">
<field name="permissionId" type="id-long-ne"></field>
<field name="description" type="description"></field>
<prim-key field="permissionId"/>
<relation type="many" rel-entity-name="SecurityGroupPermission">
<key-map field-name="permissionId"/>
</relation>
</entity>

<entity entity-name="UserLoginSecurityGroup"
package-name="org.ofbiz.commonapp.security.securitygroup"
title="Security Component - User Login Security Group Entity">
<description>Maps a UserLogin to a security group</description>
<field name="userLoginId" type="id-vlong-ne"></field>
<field name="groupId" type="id-ne"></field>
<prim-key field="userLoginId"/>
<prim-key field="groupId"/>
<relation type="one" rel-entity-name="UserLogin">
<key-map field-name="userLoginId"/>
</relation>
<relation type="one" rel-entity-name="SecurityGroup">
<key-map field-name="groupId"/>
</relation>
<relation type="many" rel-entity-name="SecurityGroupPermission">
<key-map field-name="groupId"/>
</relation>
</entity>

wys1978
2002-09-22 19:09

O!!, the html tag was filted?

8Go 1 2 3 4 ... 8 下一页