日期:2014-05-19  浏览次数:20530 次

想问下大家是怎么做角色管理模块的
先说说我的想法吧
用户表


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了

有的还设置用户权限关联表,那样权限的判断就得多考虑一层