- 99
- 0
- 约6.27千字
- 约 7页
- 2015-10-26 发布于贵州
- 举报
角色访问动态生成用户权限菜单树
角色访问动态生成用户权限菜单树
一、引言
随着.NET和J2EE开发平台的推出,传统的软件开发模式开始向B/S模式转变,这种转变给系统的安全性提出了更高的要求,B/S模式下,由于HTTP协议和浏览器的特殊性,可能会造成信息的泄漏甚至使非法用户修改数据。而权限的设置、分配与管理是任何一个系统必不可少的功能。如何设计与实现其功能,目前有多种方案,传统的访问控制方法DAC(Discretionary Access Control,自主访问控制模型)、MAC(Mandatory Access Control,强制访问控制模型)难以满足复杂的企业环境需求。本文采用了现在流行的基于角色访问控制(RBAC,Role Based Access Control)的基本思想,巧妙地利用了Web控件TreeView及ASP.NET技术,设计了在B/S模式下,根据不同的用户,不同的角色权限,动态生成用户菜单树的一种具体实现方法。
本文将先介绍RBAC的基本思想,在此基础上,给出在ASP.NET中的具体实现方法。
二、角色访问控制(RBAC)的基本思想
图1 RBAC的基本思想
在RBAC中,许可Permissions(特权)就是允许对一个或多个客体执行的权力,角色就是许可的集合,如图1所示。RBAC的基本思想就是把整个访问过程分为两步:访问权限与角色关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。
RBAC对访问权限的授权由系统管理员统一管理,系统管理员根据单位中不同的岗位定义不同的角色,用户根据其职能和责任被赋予相应的角色。一旦用户成为某角色的成员,则此用户可以完成该角色所具有的职能。
由于RBAC实现了用户与访问权限的逻辑分离,因此它极大地方便了权限管理的复杂性。可根据用户的实际工作岗位将用户与角色关联,一方面定义角色、增加删除角色中的用户易于操作,另一方面,可以通过更改角色的权限实现大批量用户权限的更新。在实际应用中,由于角色/权限之间的变化比用户/角色之间的变化要慢得多,当一个用户的职位发生了变化,只要将用户当前的角色去掉,加入代表新职务的角色即可。因此,RBAC的优点是明显的,更符合企业的应用特征。
三、用户权限菜单树
用TreeView控件动态实现用户权限菜单树的基本思想是:根据角色访问控制(RBAC)的基本原理,给用户分配不同的角色,每个角色对应一些权限,然后根据用户ID获取用户对应的角色集合,由角色集合获取对应的权限集合,再由权限集合利用TreeWiew控件动态生成一棵由该用户对应的角色能访问的页面(模块)组成的权限树。这样,用户无权访问的页面在权限菜单树就不会出现,不同的用户进入的界面不同,实现了用户权限的统一管理。
下面从功能模块设计、数据库设计、架构设计等几方面来阐述其实现过程。
1.功能模块划分
用户权限管理系统功能如图2所示,其中主要模块功能阐述如下:
用户管理模块分为:删除用户、浏览用户和角色分配三个子模块,主要负责各类用户的删除、合法性验证及为用户分配角色。用户管理模块中并没有增加用户子模块的功能,主要是由用户注册模块来实现的。
权限管理模块分为:角色管理和访问控制两个子模块。角色管理负责管理各类角色(增、删、改),为角色授予相应信息服务模块的使用权限,删除角色的某个模块的使用权限等;访问控制是保证信息安全的关键,用户登录时经身份验证后,系统根据用户具有角色的信息服务模块的使用权限自动生成访问权限集,使得用户能够访问授权的信息,拦截对没有授权信息服务的访问。
图2 用户权限管理功能模块图
2.数据库设计
在实施RBAC生成用户权限菜单树时,为了提高系统管理及数据访问的效率,在数据库中设计了用户表(表1所示)、角色表(表2所示)、用户角色表(表3所示)、角色权限表(表4所示)及菜单树结构表(表5所示)共5个表。
表1 用户信息表Users
字段名 类型 字段中文名 UserID int 用户ID主键 UserName Varchar(50) 用户名 Password Varchar(100) 用户密码用MD5加密 RealName Varchar(50) 用户真实姓名 Email Varchar(100) 用户Email State int 用户状态,默认:0 Baoliu Char(1) 保留,默认:1 表2 角色信息表Roles
字段名 类型 字段中文名 RoleID int 角色ID主键 RoleName Varchar(20) 角色名称用MD5加密 RoleDesc Varchar(50) 角色描述 PerMission Varchar(50) 角色权限 Baoliu Char(1) 保留,默认:1 表3 用户角色表UserRoles
字段名 类型 字段中文名 Role
您可能关注的文档
- 苏州昊略企管管理培训课程之目标制定与达成(1天).doc
- 苏教版实验教材五年级上册数学期末测试卷(少年智力开发报).doc
- 苏教版小学数学五年级下册方程的意义教学设计.doc
- 英国留学之9大专业认证,总有一个是你想要的.doc
- 苏州昊略企管中基层管理培训课程之从优秀专才走向管理高手.doc
- 英语语法主谓一致说课稿.doc
- 英制与公制对照表公称管子尺寸和公称直径.doc
- 菲林格尔橱柜设计师培训手册(设计实务).pdf
- 营销团队必须具备的特质:执行力.doc
- 营改增的概述及思考.ppt
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 如何找回误删微信好友,微信好友一键恢复.doc VIP
- 人教版高中物理课后习题答案.pdf VIP
- 人教版高中英语必修三《Unit 1 Festivals around the World》教学设计.pdf VIP
- 4.3 中国的交通运输业 第一课时 教学设计2025八年级地理上学期湘教版.pdf
- 常见IV曲线症状诊断分析.pptx VIP
- 2025年大梦杯数学竞赛试卷及参考答案解析.docx VIP
- 颈动脉支架植入术后护理查房.pptx VIP
- 小学数学巧算24点专项练习题(每日一练,共25份).docx VIP
- 小学数学巧算24点专项练习题(每日一练,共24份).docx VIP
- 医学课件-颈动脉支架植入医疗护理查房.pptx
原创力文档

文档评论(0)