想问下大家是怎么做角色管理模块的
先说说我的想法吧
用户表
create table UserInfo--用户表
(
PKIDint identity(1,1) primary key,
userName nvarchar(20) not null,--用户名
userPwdvarchar(32) not null,--密码
Emailvarchar(30),--e-mail
pwdQuestionnvarchar(50),--密码提示问题
pwdAnswernvarchar(50),--问题答案
roleIDint foreign key references Role(PKID) not null,--角色ID
)
角色表
create table Role --角色表
(
PKIDint identity(1,1) primary key ,
RoleNamenvarchar(30)not null,--角色名
RoleStylevarchar(30)not null,--角色名显示的CSS样式
SystemRolebit not null default 0,--是否是系统组,1的话不能删除该角色
Remarknvarchar(200),--说明
RolePicnvarchar(100),--角色头像
AddTimeDateTime default getDate()
)
再跟一个权限表
Create table RolePower--角色权限表
(
RoleIDint primary key,
canAddArticlebit 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了
有的还设置用户权限关联表,那样权限的判断就得多考虑一层