基于RBAC的权限管理软件的开发及应用
基于rbac的权限管理软件的开发及应用
现在几乎每台个人电脑上都安装了浏览器,这导致了只要在一个局域网的范围内,如果不做权限限制,每台计算机都能轻易的访问web项目,所以权限管理是web应用项目中关键环节之一。如果不建立权限管理系统,任何“非法用户”都可以轻而易举通过浏览器访问到web应用项目中的所有功能,这将对信息系统的安全造成威胁。因此,应用系统均需要相关的权限管理软件进行权限检测与管理,确保只有经过授权的用户才能正常合法的使用已授权的功能,同时禁止那些未经过授权的非法用户进入系统。
因此,开发一套具有通用性并能克服上述不足的权限管理软件来确保信息系统的信息安全是十分必要作。本文基于b/s架构,设计开发了一套权限管理软件。该软件用户体验性强,客户端无需下载控件,能同时支持多种数据库;实现了按一定的组织结构访问网页,确保信息系统安全。
1 软件设计
1.1软件整体设计
权限管理软件设计是基本文由论文联盟http://收集整理于角色的访问控制(role-based access control,简称rbac)设计模型。rbac是美国nist于20世纪90年代初提出了一种基于角色的访问控制模型。其核心思想是:不是直接将用户和权限进行关联,而是引入“角色”概念,将代表行为的权限和角色相互关联,角色与用户相互关联,用户和权限通过角色而间接关联。
在软件具体设计中,首先通过系统的域验证来保证用户合法性;域验证通过后,从数据库中读取该用户具备哪种角色,然后根据用户的角色,来确定该用户可以访问的页面;最后将这些页面生成菜单,从而实现权限管理的功能。
1.2软件体系架构的设计
在软件体系架构设计中,采用分层式结构,添加了model层,并将数据访问层做了一定程度上的扩展,具体软件体系架构图1所示。
表示层:是系统的展示部分,负责用户与整个系统的交互。表示层仅仅包含页面上控件的逻辑代码,只与界面上的元素有关,而与系统的业务逻辑无关。
业务逻辑层:是整个系统的核心。它与这个系统的业务逻辑相关。在权限管理软件中,业务逻辑层的相关设计主要涉及到页面、角色和菜单处理的业务逻辑。如果涉及到数据库的访问,则调用数据访问层。
数据访问层:其功能主要是负责数据库操作。该层包括dal接口、dal工厂、oracle dal、sqlserver dal以及最后产生的model层。该数据访问层中完全采用了“面向接口编程”的思想。抽象出来的idal模块,脱离了与具体数据库的依赖,从而使得整个数据访问层更加有利于数据库迁移。只需添加一个相应数据库版本的dal并且实现idal接口即可连接到各种数据库。业务逻辑层和表现层不需要任何的改动,从而提高了代码的复用率。
实体层:该层主要将数据库中定义的表映射成程序可以访问的业务实体,并且只定义实体的属性,并无实体的行为。该层由数据访问层产生,贯串了业务管理层和表示层。权限管理系统主要涉及的实体有:用户类、页面类和角色类等。
1.3系统功能设计
权限管理软件主要包括四个模块:用户管理、页面管理、角色管理和菜单管理。具体功能架构图如图2所示。
<d:\飞腾导入图片目录\李莉 基于rbac的权限管理软件的开发及应用-f4\image2.jpeg>
图2 权限管理软件功能架构图
1.4系统数据库设计
数据库设计是软件开发过程中的基础环节。良好的数据库设计不但有利于提高系统的整体性能,而且也方便将来使用过程中的数据维护。权限管理软件数据库设计达到了第三范式(3nf),这种设计能够有效保证数据的完整性和参照完整性,同时降低数据的冗余度。
2 软件实现
该软件实现了与域无缝集成。用户登录后首先通过域验证来确保登录用户的合法性。这样既方便了用户,避免用户记住多个用户名和密码也保证了系统的安全性。
在权限管理系统中,利用了c#中dllimport直接调用windows已经存在的域验证功能。dllimport所在的名字空间是 using pservices。
msdn中对dllimportattribute的解释是这样的:可将该属性应用于方法。dllimportattribute 属性提供对从非托管 dll 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 dll 的名称。
3 软件应用
权限管理软件已应用在多个系统中,系统运行稳定,响应速度快,操作简单,功能健全,满足了用户的需求。权限管理软件的直接使用,在很大程度上节省了开发人员的时间和精力,提高了软件开发效率。随着信息化建设的步伐越来越大,b/s架构的系统的投用越来越多的投用,该软件的应用范围将越来越广阔。
上一篇:芯片级PCR温度控制系统软件设计