权限管理设计

本文深入探讨了数据库模型的构建过程,包括从概念模型到物理模型的转换步骤,并详细介绍了系统中必要的字段及其作用。同时,文章还阐述了权限管理的实现方式,通过多个实体对象表和关联表来实现用户、角色、权限的多对多关系。最后,通过具体的SQL查询语句展示了如何根据角色和用户名查询相关信息。

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='用户名'

转载于:https://www.cnblogs.com/cyjch/archive/2012/02/06/2340114.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值