权限管理设计

PD中
概念模型:Conceptual Data Model

物理模型:Physical Data Model

对像模型:Object Oriented Model

1.由概念模型生成了物理模型 步聚:菜单Tools下的Generate Physical Data Model--ctrl+shift+p)

2.然后在物理模型中生成数据库语句 步聚:菜单Database下的Generate Database--ctrl+g)

 

系统中必要的字段

DeleteMark int (删除标记,删除后可以恢复)

Enabled int (是否有效的,如审核后生效)

AllowEdit int (是否允许编辑,基本的数据有些是不可以被编辑的)

AllowDelete int (是否允许删除,基本的数据有些是不可以被删除的)

SortCode int (排序代码)

Description text (描述)

CreateUser varchar (创建者) CreateDate datetime (数据创建的时间)

ModifyUser varchar (修改者) ModifyDate datetime (数据修改的时间)

可空数据类型 1.int? id ;//说明:变量id是整型的,但可以是null 的

2.DateTime? date ; //说明:变量DateTime是日期型的,但可以是null 的

信息添加时涉及到的主表和子表,它们应该有主外键关系,主表没插入数据时,子表是插入不了的,同时操作两表时应有事务处理

权限管理的三个对象:用户、角色、权限 共有六张表(三个对象表,三个对象关联表,都为多对多关系)

分别有三个实体对象表

*juser(用户表)
-------------
userid(为主键)
username
-------------

*jrole(角色表)
-------------
roleid(为主键)
rolename
-------------

*jright(权限表)
-------------
rightid(为主键)
rightname
-------------

分别有三个实体对象关联表

*RoleRightLink(角色和权限关联表)
 -------------
roleid(为主键)
rightid(为主键)
-------------

*UserRightLink(用户和权限关联表)
-------------
userid(为主键)
rightid(为主键)
-------------

*UserRoleLink(用户和权限关联表)
-------------
userid(为主键)
roleid(为主键)
-------------

2、根据指定角色,查询角色名和其对应的权限 select * from jrole jr,JroleRightLink jrl where jr.roleid=jrl.roleid and jr.roleid=1

3.根据指定用户名,查用户名和对应的角色 select * from juser u,juserRoleLink ur where u.userid=ur.userid and u.name='用户名'

4.根据指定用户名,查用户名和对应的权限 select * from juser u,juserRightLink ur where u.userid=ur.userid and u.name='用户名'

posted @ 2012-02-06 14:37  cyjch  阅读(401)  评论(0编辑  收藏  举报