Web系统中基于角色权限管理设计与应用

时间:2022-10-04 03:49:30

Web系统中基于角色权限管理设计与应用

摘 要:首先对RBAC产生、发展和现状及其主要模型进行简单介绍,然后根据RBAC权限管理模型的关键内容,设计了一个较通用的RBAC权限管理模块,给出关键接口说明和数据库描述。最后展示了该RBAC权限管理模块在实际项目中的应用。

关键词:访问控制;基于角色的访问控制;RBAC模型;权限管理模块

中图分类号:TP309文献标识码:A文章编号:16723198(2010)01028901

1 权限管理模块设计

系统主要包括身份认证模块、访问控制服务和RBAC角色管理模块。身份认证模块鉴定登录系统的用户身份。访问控制服务将访问控制系统生成的用户与角色、用户与权限的映射关系提供给应用系统。RBAC角色管理模块将请求执行的URL信息和用户相关信息在RBAC数据库中查找核对,鉴别用户对他所请示的URL页面是否有权执行,如果有,则Web服务器解释请求,生成功能菜单,并在用户浏览器上显示结果。

1.1 基本类和接口设计

基于前面RBAC模型的阐述,将权限管理划分为用户管理模块、角色管理模块、操作管理模块和角色权限控制模块四个部分。

用户管理模块包含用户管理类和用户管理接口。用户管理类包括用户ID、登录账号、用户姓名密码、对应的角色和角色ID。用户管理接口完成用户的增加、删除、查询、用户信息的修改保存以及为用户分配角色,这些功能通过接口提供给外部使用,还可以作为共享服务提供给其他系统功能模块。

角色管理模块用来对角色和角色之间关系进行操作,包含角色管理类和角色管理接口。角色管理类里包括角色ID、角色描述、角色名称和父角色,父角色可为空。通过角色管理接口可执行根据角色ID读取角色对象、添加保存角色信息到数据库、在两个已有角色间建立新继承关系、分页列出角色列表等。

操作管理模块主要管理系统中的可控对象以及对该对象能进行的各种操作,包含操作管理类和操作管理接口。用户可以访问的资源是指系统中文件、数据、按钮、菜单及各种业务功能模块,不同岗位的用户拥有的操作也不同,访问对象和对该对象所进行的操作构成了一个角色对该资源的访问权限。操作管理类包括操作资源ID、角色描述、对应链接和操作名称。操作管理接口可执行根据操作ID返回操作对象、分页列出操作对象、删除操作对象、保存更新操作对象和对象集。

角色权限控制模块其功能是实现用户角色的分配和回收,它包括角色权限类和角色权限控制接口。其中角色权限类包括操作资源ID和角色ID,角色权限控制接口可执行删除角色权限对象、根据ID读取相应角色权限、分页列出角色权限、保存并更新角色权限和角色集。

1.2 数据库设计

考虑RBAC权限管理模块的需求,主要设计有用户表,角色表,操作资源表,角色权限表,操作日志表。角色权限表用于存储角色可执行的操作信息。操作资源表存储用户可执行的各种操作的URL地址,Link字段含义是用户操作所对应的应用数据库中的URL连接。操作日志表用来存储用户访问系统时产生的日志。

2 模块在实际项目中的应用

医药公司销售查询系统面向的用户主要是药品供应商、医药公司销售人员、药品购买客户(药店、医院),每个访问系统的用户都是实名制,每个用户都有自己唯一的角色,一个角色可以对应多个用户。管理员在遵循RBAC模型的角色定义原则的前提下根据使用系统的用户和医药公司岗位设定的实际需求,设计本系统的角色以及分配角色权限。如图1所示,系统管理员可以通过角色管理服务来修改设计系统角色,通过角色动作关联管理服务对不同角色的操作权限进行设置,通过用户管理服务管理用户信息并且为用户分配角色。

参考文献

[1]叶春晓,符云清,吴中福.RBAC中权限扩展的实现[J].计算机工程,2005,9(31):141142,172.

[2]苏军,薛顺利,李尊朝.基于RBAC中用户角色继承的权限控制方式[J].西安工程科技学院学报,2006,(20):195198.

上一篇:论高性能混凝土特性及施工应用 下一篇:SVG技术在电气化铁道应用探讨