没有合适的资源?快使用搜索试试~ 我知道了~
首页基于MVC架构的网站RBAC访问控制框架设计与实现
基于MVC架构的网站RBAC访问控制框架设计与实现
0 下载量 192 浏览量
更新于2023-11-23
收藏 665KB DOC 举报
本文基于MVC架构的商务管理系统需求,分析了几种访问控制方式的优缺点,并提出了利用RBAC模型进行系统访问控制的方法。在具体的商务系统中应用该方法,给出了实现过程。商务网站系统除了关注功能需求外,还需要考虑非功能性需求,其中安全性是非常重要的方面之一。访问控制是所有应用系统都不可或缺的一部分。本文通过分析MVC架构商务管理系统的需求,首先探讨了几种常用的访问控制方式的优缺点,并提出了使用RBAC模型进行访问控制的方法。同时,通过在某一商务系统中的应用,给出了具体实现的过程。关键词:MVC、RBAC、访问控制、角色、权限。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/88007083/bg9.jpg)
5
1.2.2 RBAC 适用性分析
在 RBAC 模型中,一个用户通过用户授权获得一个或者几个角色,但角色不
能被同时激活;一个角色可以被同时授予多个用户;每个角色有一个或多个节点,
一个节点也可以被赋予多个角色;每个节点有一个或者多个功能,一个功能可以
被同时挂在不同的节点上,而节点可以有子节点,子节点也可以再有子节点;一
个功能对应一个或多个页面;一个页面有一个或多个操作。这样每个用户登录时
就可以根据角色得到一棵功能树从而使用系统中的资源。
为更真实的描述现实, RBAC 模型还有许多的控制机制。如对 Web 页面多维
度和细粒度控制,对角色、功能、节点的静态限制和对角色的动态限制。对页面
的限制主要是限制用户在特定时间和特定地点所能看到的功能和所能进行的操
作。其他限制主要是在功能被赋予节点时、节点被赋予角色时和角色被赋予用户
时的限制。模型中有了这些限制才更完整、更真实地反应现实,从而使实际模型
细化的过程更加平滑,现实和计算机实现策略达到较好的融合。
页面是 Web 应用系统中最重要的元素,控制页面访问是整个系统安全的重要
条件。对页面的访问控制可以从时间和空间两个方面来进行,对页面功能和数据
的访问,可以通过用户登录后所带 session 中的信息进行控制。
时间约束分为一般时间约束和周期时间约束两种。一般时间约束是指从一个
时间点持续到另一时间点之间可以访问某个页面,例如,企业商务系统中的商品
招标页面,它在某一指定时间段内开放,对这种约束可以在用户访问网页的时候
判断访问时间是否在允许范围内。周期时间约束是指对那些功能和数据周期性开
放的页面进行访问控制。空间约束主要是对用户在不同地方(网段)登录所能看
到的页面以及页面能提供的信息进行控制。例如,管理部门内部事务所对应的页
面通常对用户所在的访问位置有较严的限制。一般系统的高层用户都有一个固定
的 IP 段,就可以对那些重要的页面设置允许访问的 IP 范围来达到对关键资源的
保护。对页面的空间约束可以分成分网段、分楼层、分房间、分 IP 地址等不同
层次的控制。
对页面功能和数据的访问需要知道用户的大概类型,主要包括管理员、部门
管理员、一般职工、游客(企业或单位以外的人员)等。用户登录后将用户的类
型保存到 session 中,在用户访问页面时就可以根据用户的不同类型,以及他们
对时间、空间等硬性约束的满足情况来显示相应的功能和数据。
通过了解 RBAC 模型的原理和 RBAC 模型中对访问控制的支持,我们可以看出,
RBAC 模型可以很好的应用于已有或将要开发的企业商务 Web 系统中。通过在系
统中使用 RBAC 模型,可以很好的解决如下的问题:
权限管理混乱的问题。通过在系统中增加角色这个概念,很好的解决了这个
![](https://csdnimg.cn/release/download_crawler_static/88007083/bga.jpg)
6
问题。在 RBAC 模型中,可以利用角色与系统中的所有权限关联,使得某种角色
具有某种特定的权限,从而在为用户设定好相应的角色之后,也就意味着得到了
相应的系统权限。
控制逻辑混乱的问题。通过使用 RBAC 模型,可以避免在系统中书写负责的
控制逻辑来进行访问控制。尤其当系统设计的用户和角色比较多时,单纯的依靠
代码进行访问控制将变得相当困难。
换句话说,RBAC 模型为我们提供了良好的访问控制支持。在企业商务 Web
系统中利用 RBAC 模型,可以简便、科学、清晰地进行访问控制,从而在一定程
度上提高了整个 Web 系统的安全性。
1.3 RBAC 在 MVC 中的应用现状
网站程序的安全是系统开发人员必须考虑的重要因素之一,因为这涉及到网
站的建设者、网站用户的诸多安全问题,如果不处理好,可能会给系统的使用者
和管理者带来严重问题。现在普遍在使用的安全措施有如下几种:
(1)防止 SQL 注入
比如 URL、表单等提交信息时,通过一段防止 SQL 注入的过滤代码即可防止
出错信息暴露,或者通过转向,当系统出错时转到一个提示出错的页面等。
对于文本型输入,如果要进行检查,就得根据字段本身的性质进行。例如如
果是年龄,就得限定必须是数字,大小必须限定在一个范围之间,比如说 18-120
之间。对于用户名,应该建立一个集合,这个集合里存放有被允许的字符,或被
禁止的字符。
(2)验证码技术
所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加
上一些干扰象素,由用户肉眼识别其中的验证码信息,输入表单提交网站验证,
验证成功后才能使用某项功能。放在会员注册、留言本等所有客户端提交信息的
页面,要提交信息,必须要输入正确的验证码,从而可以防止不法用户用软件频
繁注册,频繁发送不良信息等。
(3)MD5 加密技术
MD5 的全称是 Message-Digest Algorithm 5,当用户登录的时候,系统把用
户输入的密码计算成 MD5 值,然后再去和保存在文件系统中的 MD5 值进行比较,
进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明
码的情况下就可以确定用户登录系统的合法性。这不但可以避免用户的密码被具
有系统管理员权限的用户知道,而且还在一定程度上增加了密码被破解的难度。
(4)数据备份
![](https://csdnimg.cn/release/download_crawler_static/88007083/bgb.jpg)
7
一般采用数据库系统自动定时备份、定时自动删除几天以前的数据等,即可
完成数据的备份功能。而图片、文件一般是不能自动备份,需要手工操作,所以
我们必须要定期手工对网站的图片、文件进行备份操作。
访问控制技术是由美国国防部(Department of Defense, DoD)资助的研究
和开发成果演变而来的。这一研究导致两种基本类型访问控制的产生:自主访问
控制(Discretionary Access Control, DAC)和强制访问控制(Mandatory Access
Control, MAC)。最初的研究和应用主要是为了防止机密信息被未经授权者访问,
近期的应用主要是把这些策略应用到为商业领域。
自主访问控制,允许把访问控制权的授予和取消留给个体用户来判断。为没
有访问控制权的个体用户授予和废除许可。自主访问控制机制允许用户被授权和
取消访问其控制之下的任何客体(object),换句话说,用户就是他们控制下的
客体的拥有者。然而,对于多数组织来说,最终用户对所访问的信息没有拥有权。
对于这些组织,公司或代理机构是事实上的系统客体和处理他们的程序的拥有者。
访问优先权受组织控制,而且也常常基于雇员功能而不是数据所有权。
强制访问控制,在美国国防部 Trusted Computer Security Evaluation
Criteria (TCSEC) 中定义如下:“一种限制访问客体的手段,它以包含在这些客
体中的信息敏感性和访问这些敏感性信息的主体的正式授权信息(如清除)为基
础”。
强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。
强制访问控制(MAC)的主要特征是对所有主体及其所控制的客体(例如:进程、
文件、段、设备)实施强制访问控制。为这些主体及客体指定敏感标记,这些标
记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。系统通过
比较主体和客体的敏感标记来决定一个主体是否能够访问某个客体。用户的程序
不能改变他自己及任何其它客体的敏感标记,从而系统可以防止特洛伊木马的攻
击。
强制访问控制一般与自主访问控制结合使用,并且实施一些附加的、更强的
访问限制。一个主体只有通过了自主与强制性访问限制检查后,才能访问某个客
体。用户可以利用自主访问控制来防范其它用户对自己客体的攻击,由于用户不
能直接改变强制访问控制属性,所以强制访问控制提供了一个不可逾越的、更强
的安全保护层以防止其它用户偶然或故意地滥用自主访问控制。
以上访问控制策略对于处理一些无需保密但又敏感的信息的政府和行业组
织的需求并不是特别的适合。在这样的环境下,安全目标支持产生于现有法律、
道德规范、规章、或一般惯例的高端组织策略。这些环境通常需要控制个体行为
的能力,而不仅仅是如何根据信息的敏感性为其设置标签从而访问这一信息的个
人能力。
剩余52页未读,继续阅读
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)