想问下大家是怎么做角色管理模块的
先说说我的想法吧
用户表
create table UserInfo --用户表
(
PKID int identity(1,1) primary key,
userName nvarchar(20) not null, --用户名
userPwd varchar(32) not null, --密码
Email varchar(30), --e-mail
pwdQuestion nvarchar(50), --密码提示问题
pwdAnswer nvarchar(50), --问题答案
roleID int foreign key references Role(PKID) not null, --角色ID
)
角色表
create table Role --角色表
(
PKID int identity(1,1) primary key ,
RoleName nvarchar(30) not null, --角色名
RoleStyle varchar(30) not null, --角色名显示的CSS样式
SystemRole bit not null default 0, --是否是系统组,1的话不能删除该角色
Remark nvarchar(200), --说明
RolePic nvarchar(100), --角色头 像
AddTime DateTime default getDate()
)
再跟一个权限表
Create table RolePower --角色权限表
(
RoleID int primary key,
canAddArticle bit default 0, --添加文章
canDeleteArticle bit default 0 ,--删除
--等等其他操作
)
感觉这样做不是太好。。。如果要加一个操作就要改数据库结构了
想把Power表做成一个xml文件,像
<Role id= "1 ">
<canAddArticle> true </canAddArticle>
.....
</Role>
<Role id= "2 ">
<canAddArticle> true </canAddArticle>
.....
</Role>
这样的格式,可以实现定制操作
感觉这样子XML文件比较脆弱,一但给人手动修改后很可能出错,而且XML操作起来也比较麻烦
还想问一下如果系统里面加了分类管理员,应该怎么处理好角色和分类管理员之间的关系
不知道各位做权限的时候是怎么做的,感激不尽!
------解决方案--------------------各分类管理员只能拥有分类用户的修改权限
用户
角色
组织
组织角色对应关系
权限
大致这样的吧
------解决方案--------------------用户--权限组---角色---- 从这几方面设计
------解决方案--------------------用户表,
角色表
权限表
------解决方案--------------------可能设计还是有问题,一个人可能有多个角色.
一个角色对应多个权限.
------解决方案--------------------角色帮顶菜单 用户帮顶角色
------解决方案--------------------复杂点可以建 User用户表,Role角色表,Model模块表,Act行为表这几个表
User和Role关联,Model和Act关联,再Role对应某个Model以及这个Model下的某几个Act
------解决方案--------------------用户表,角色表,权限表三个基本信息表
用户角色关联表,角色权限关联表,就ok了
有的还设置用户权限关联表,那样权限的判断就得多考虑一层