Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
教程下载

ATOM 2.0   RSS 2.0
Add to iGoogle Add to Live.com
  • 今天终于收到金山快盘的邀请码
  • 利用最短ie判断在不同浏览器上播放背景音乐
  • 对插画方面的一点感受与回忆
  • 网上看到的两个死里逃生的图片,记录一下
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 对Android在互联网应用开发上的纠结
  • 收藏夹中的书签都没了,决定写一个自已的书签管理器
  • 测试自已整理的本机的webapps客户端发送博文能否成功。
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 昨天借用飞姐的佳作做的一个浪漫爱情网页
  • 有几个腾讯微博的邀请码(实时更新)
  • BB的网站移到了GAE-JAVA上了
  • 一个基于GAE Python Web.py和JQuery的留言本程序
  • 类许愿墙的一个告白网站和一个电子书网站
  • Android中用Bitmap获取图片中某个区域的图象
  • 对暴力破解带密码的QQ相册的可行性分析
  • 对淘宝web旺旺版一些通讯接口的研究

关于一个角色权限模块设计的文档

posted by David Chen at August 8, 2008, 3:04 AM    

一、 模块基本功能
1. 角色具有不同的权限,用户对应于某种角色后,就具有该角色的权限。如果没有相应的权限,就不能做相应的操作。
2. 理想的设计,页面上每一个文字,按纽等的元素,都可以通过指定用户角色,是否允许用户可见,可编辑等。
3. 为方便权限的的细分,将不同的权限放于不同的权限分类中。
4. 每个角色可以没有,或有多个权限。
5. 用户只能对应某一个角色,属于某个角色后,用户就拥有了该角色的所有权限。
6. 不同的学校,可以自定义不同的角色,所以角色也要对应某一个学校。可以给自定义的角色指定不同的权限。
二、 数据库表结构

三、 表结构说明
PrivilegeCategory 权限分类PrivilegeCatId 主键 AUTO_INCREMENT
     CatName_CN 栏目名称
     CatName_EN
     CatName_TW
     ParentCat 父栏目id Related table PrivilegeCategory
Privilege 权限细分表
     PrivilegeId 主键 AUTO_INCREMENT
     PrivilegeSysId 系统索引名
     PrivilegeName_CN 权限名称
     PrivilegeName _EN
     PrivilegeName _TW
     PrivilegeCatId 所属的栏目 Related table PrivilegeCategory
     Remarks 说明
Role 角色表

     RoleId 主键 AUTO_INCREMENT
     RoleName_CN 角色名称
     RoleName_EN
     RoleName_TW
     Remarks 说明
     SchoolId 学校id Related table School
     MarkDelete
Role_Privilege 角色权限表,角色拥有的权限
     RoleId 角色 Related table
     Role
     PrivilegeId 权限 Related tablePrivilege

四、 表结构说明
1. PrivilegeCategory表,ParentCat字段说明这个表是一个无限延伸的目录树。
2. Privielege表, PrivilegeSysId 是系统所有的标识索引,这个必须是自定义的字符串,注意命名规则,以方便日后维护.
3. Role表,角色表,可以与某间学校对应,表明该角色是属于某间学校的。
4. Role_Privilege表,角色拥有的权限表, 多对多关系。双主键。

五、 新增一个权限, 并将权限赋予一个角色的操作例子
1. sql :
insert into PrivilegeCategory (PrivilegeCatId, CatName_CN, CatName_EN, CatName_TW, ParentCat) values (1, '行政及教学平台', 'EVI SCHOOL', '行政及教學平臺', NULL);
// 这个权限分类根目录,不显示在页面的
insert into Privilege (PrivilegeSysId, PrivilegeName_CN, PrivilegeName_EN, PrivilegeName_TW, PrivilegeCatId) values ('1system_login', '登录系统', 'System login', '登錄系統', 1);
// 在根目录中添加一个登录的权限,
2. 用超级用户登录, 将登录权限赋予 广大->“测试” 这个角色

3. java代码,判断用户是否有登录权限
import com.evi.modules.utils.UserPrivilegeUtil;
BaseVO vo = getUser( username, password );
if( UserPrivilegeUtil.hasPrivilege(vo, "1system_login") ) {
// 如果有权限
}
4. 同理,可能动态给系统添加不同的权限。
Labels:   Others  
Trackback:   http://cwq.iou1314.com/privilege-role_a337
微博最近更新
[2010-07-31 16:33]    今天下午又将昨天赢的哎齐出来了,郁闷,一进一出,要有入没出才行啊。
[2010-07-31 07:40]    昨晚又去啊泄度开台,呢次赢左差唔多3旧水,下周星期一请假,回郁南去转社保和入党资料。
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
Power by David's PhpCms, © 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.