基本思路如下:
------------------------------------
部门表
-----------
DepartID --部门编号
DepartName --部门名称
...
用户表
-----------
UserID --用户编号
UserName --用户名称
DepartID --归属部门
...
权限表:
-----------
PowerID --权限编号
PowerDesc --权限描述
...
角色表:
-----------
RoleID --角色编号
RoleName --角色名称
RoleDesc --角色描述
IsDepartRole --是否是与部门相关的角色[用于针对部门管理员的权限判定]
...
角色权限表:
-----------
RoleID --角色编号
PowerID --权限编号
...
用户角色表:
-----------
UserID --用户编号
RoleID --角色编号
...
------------------------------------
部门表
-----------
DepartID --部门编号
DepartName --部门名称
...
用户表
-----------
UserID --用户编号
UserName --用户名称
DepartID --归属部门
...
权限表:
-----------
PowerID --权限编号
PowerDesc --权限描述
...
角色表:
-----------
RoleID --角色编号
RoleName --角色名称
RoleDesc --角色描述
IsDepartRole --是否是与部门相关的角色[用于针对部门管理员的权限判定]
...
角色权限表:
-----------
RoleID --角色编号
PowerID --权限编号
...
用户角色表:
-----------
UserID --用户编号
RoleID --角色编号
...
解决方案 »
- 看不明白SQL行列转换代码
- vb+sql2000开发的c/s程序,第一次进入窗体打开数据时非常慢,可是以后就很快?哪的问题?
- sql server中根据一个数据条件查询表中多条数据中对应字段的和等于该条件数据!
- 小弟不小心更新了数据库中一个重要数据,请问如何执行逆操作,恢复原来数据?
- 如何用sql语句实现将查询出的数据输出到文本文件中?
- 在utf-8字符集的网页上,输入gb2312的数据到sqlserver表中,如何处理,使在库里查看的的数据不是乱码
- 下面这条sql语句查询出来有3条记录,我如何就这句语句再构造一个SQL,输入记录总数为3
- 如何将一列中的部分数据拷贝到另一列中?
- 简单问题送分了
- 请各位介绍一下好的关于PB的网站
- 连接数据库语句问题!!
- 关于MSDASQL和SQLOLEDB的疑问,高手请进
-----------
DepartID --部门编号[PK]
DepartName --部门名称
...
用户表
-----------
UserID --用户编号[PK]
UserName --用户名称
DepartID --归属部门[FK]
...
权限表:
-----------
PowerID --权限编号[PK]
PowerDesc --权限描述
RelatePage --关联页面
...
角色表:
-----------
RoleID --角色编号[PK]
RoleName --角色名称
RoleDesc --角色描述
IsDepartRole --是否是与部门相关的角色[用于针对部门管理员的权限判定]
...
角色权限表:
-----------
RoleID --角色编号[FK]
PowerID --权限编号[FK]
...
用户角色表:
-----------
UserID --用户编号[FK]
RoleID --角色编号[FK]
...补充说明:
----------------------------------------------------------------------
权限的约束可以从两个方面实现:
1、根据当前登录操作页面的列表,页面的路径和名称等信息在权限列表中包括
在权限列表菜单中列出相应的权限链接,并在每个页面都进行权限判定2、在页面上通过按钮/链接体现权限时,则根据具体的界面分别设置
-------------------------------------------------------------------------
部门的权限可以通过一个自动继承的方式来实现,for example:比如部门有论坛,则论坛的数据在论坛信息表中记录如下:
-------------------------------
ForumID --论坛编号
ForumName --论坛名称
IsDapart --是否与部门关联
RalateDepart --论坛关联部门
如果与部门相关,则在页面上判断试图访问的用户是否归属该部门或者具备更高的权限
而用户并不需要直接指定访问某个具体编号的论坛,只需要权限中设置可访问本部门论坛即可