- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
角色访问动态生成用户权限菜单树
一、引言
随着.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
您可能关注的文档
最近下载
- 2025秋统编版(2024)小学道德与法治三年级上册(全册)课时练习及答案(附目录).docx
- (2025秋新版)人教版三年级数学上册《观察物体》PPT课件.pptx VIP
- (鲁班奖)网架专家论证汇报资料.ppt VIP
- 行业资料 - 国家储备林改培技术规程-国家林业局.pdf VIP
- Q960E高强度调质钢焊接工艺研究.pdf VIP
- 2025-2026学年第一学期数学教研组工作计划.doc VIP
- ISO15378-2017药包材对ISO9001的应用.pptx VIP
- 13.1三角形的概念 课件(共24张PPT) 人教版(2025)数学八年级上册(含音频+视频).pptx VIP
- 2025级中职语文教学工作计划5篇.pdf VIP
- 第十章 商品的品名品质数量和包装.ppt VIP
文档评论(0)