最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

web应用的权限设计实例

来源:动视网 责编:小OO 时间:2025-09-24 23:41:02
文档

web应用的权限设计实例

Web应用的权限设计实例撰文/齐咏珍关键词RolebasedAccesscontrol(基于角色的访问控制)、XMLApplicationDictionary(界面元素字典化)、资源、角色本文向您讲述一个web应用系统中的基于RBAC模型的权限子系统的设计实例。一、引言权限控制在任何一个多角色、不同功能分层次执行的应用中都是有其重要性。本文提供的权限设计实例是基于RBAC模型的,同时结合ApplicationDictionary的概念,将应用系统的界面元素(菜单名称和层次关系等,即资源)都是存
推荐度:
导读Web应用的权限设计实例撰文/齐咏珍关键词RolebasedAccesscontrol(基于角色的访问控制)、XMLApplicationDictionary(界面元素字典化)、资源、角色本文向您讲述一个web应用系统中的基于RBAC模型的权限子系统的设计实例。一、引言权限控制在任何一个多角色、不同功能分层次执行的应用中都是有其重要性。本文提供的权限设计实例是基于RBAC模型的,同时结合ApplicationDictionary的概念,将应用系统的界面元素(菜单名称和层次关系等,即资源)都是存
Web应用的权限设计实例

撰文/ 齐咏珍

关键词Role based Access control(基于角色的访问控制)、XML

Application Dictionary(界面元素字典化)、资源、角色

本文向您讲述一个web应用系统中的基于RBAC模型的权限子系统的设计

实例。

一、引言

权限控制在任何一个多角色、不同功能分层次执行的应用中都是有其重要性。本文提供的权限设计实例是基于RBAC模型的,同时结合Application Dictionary 的概念,将应用系统的界面元素(菜单名称和层次关系等,即资源)都是存放在数据库表中,以实现权限子系统中的资源管理、角色管理、权限分配。

基于角色的访问控制设计灵活性大,易于维护;本设计实例以角色授权、用户指派角色的获得用户的权限为主;同时支持直接向用户授权,作为授权的补充形式存在。

二数据结构设计

本文的权限子系统包含三大实体:用户、角色、资源以及他们的关系。

通过用户角色表、授权表这两张中间表将三者的关联起来,如下图:

通过上图,我们可以看到,用户可以通过相关联的角色获得其可用资源,也可以直接通过授权表直接获得其可用资源,所以用户的所有可用资源就是两者的并集。在本系统中一个用户可以充当多个角色,一个角色可以使用多种资源。

三资源管理

1 资源实体:

依据资源使用的三大对象群,将资源分为系统资源、服务资源、基础资源三大类进行管理,其中系统资源只提供给后台管理员,服务资源提

供给授权用户使用,而基础资源提供给所有用户使用。

另外依据资源是否在用户的菜单中显示,将资源分为菜单资源和功

能性资源。

2 资源树结构:

由于树型结构的灵活性、可扩展性,所以采用以树型结构来管理本系统中三大类资源。

一级资源的定义:

当resourceID=parentID时,表示该资源为一级资源

叶子(资源)节点的定义:

当childNum=0时,表示该资源为叶子(资源)节点

资源树的表现

通过迭代递归的方法,将资源数据动态的转化为xml资源树,并将xml 数据以数据岛的方式内嵌在要展示的页面中,通过xsl转换程序将xml转化为可视树。

xml数据岛示例:

Customers

images/book.gif

images/bookOpen.gif

Microsoft

images/book.gif

images/bookOpen.gif

displayCustomer(12345)

3资源管理

资源管理包括资源的新增、修改、删除。

其中删除只能删除叶子节点。

Delete from t_resource where resouceID=? and childNum=0

删除叶子的逻辑:

1 删除该叶子

2 删除成功,则更新父亲节点的孩子数设置childnum=childnum-1;

3 删除失败(包含影响函数为0),则不更新更新父亲节点

1授权

2.1 用户直接授权

1.2给角色授权

2.3 给用户分配角色

用户角色分配状况:

●普通会员的角色分配

●后台管理的角色分配

2.4会员的所有可用资源

5 会员权限的分配业务

5.1 给后台业务(管理)员的用户或角色分配资源:

可分配的资源为系统资源5.2 给普通会员的用户或角色分配资源:

可分配的资源为服务资源和基础资源,其中基础资源缺省就分配给普通用

5.3 当用户自己注册成为一个中华衣网时,此时用户拥有默认角色当系统管理员为用户创建用户时,此时该用户为产品包用户

当系统管理员将一个用户从未审核会员变成审核会员时,用户角色由默认角色省级为产品包用户,反之则用户角色由产品包用户降为默认角色

3 权限控制方法

6.1 对于受控的资源来说,首先拒绝匿名用户

6.2 对于登入用户来说,

6.2.1 请求中是否有资源的id,如果没有则拒绝

6.2.2 请求中资源的id,是否包含在用户的资源数组中,如果

没有则拒绝

6.2.3 请求的资源id对应的资源url,与请求中的资源url是否

保持一致,

如果不一致,则拒绝

文档

web应用的权限设计实例

Web应用的权限设计实例撰文/齐咏珍关键词RolebasedAccesscontrol(基于角色的访问控制)、XMLApplicationDictionary(界面元素字典化)、资源、角色本文向您讲述一个web应用系统中的基于RBAC模型的权限子系统的设计实例。一、引言权限控制在任何一个多角色、不同功能分层次执行的应用中都是有其重要性。本文提供的权限设计实例是基于RBAC模型的,同时结合ApplicationDictionary的概念,将应用系统的界面元素(菜单名称和层次关系等,即资源)都是存
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top