1.概述

在数通畅联的产品体系中,AEAI Portal毫无疑问的占据了很重要的地位,在这里我们将通过参考Portal样例,讲述一下AEAI Portal权限体系的控制方法。在Portal使用过程中,因为对授权体系的不了解,操作的不当会产生一些显示和登陆操作时的问题,这时需要对权限体系有一个明确的认识。本篇文章主要用来说明Portal中的群组、用户、角色三者之间的关联关系以及对于资源的权限控制等。

2.目标读者

  • 数通畅联内部员工
  • AEAI Portal以及外围产品使用者

3.权限组成

如图,AEAI Portal采用的是群组、用户、角色这三种维度的权限体系。两两之间均为“多对多”的关联关系。

Portal通过这样的权限体系,确保资源以及数据的安全。其中人员相关的数据表为:security_user表,群组相关数据表为:security_group表,角色相关数据表为:security_role,人员与群组关联关系表为: security_user_group_rel,人员与角色关联关系表为:security_user_role_rel,角色与群组关联关系表为:security_role_group_rel

3.1.群组

进入门户管理控制台,点击导航栏的组织权限,选择群组管理,可以对左侧的分组列表进行添加、删除、迁移各个节点的操作

进行的操作会直接影响security_group这个数据表。如下图所示:

3.2.用户

在群组管理中,选择一个群组。点击”用户信息”选项卡,如下图所示

点击新增按钮,弹出用户信息新增页面,如下图所示,填入正确的用户信息,点击保存,完成对用户的新增操作。对用户的操作除了新增,还有编辑、复制、查看、过滤(查询)、迁移、删除,等等。

上面对用户进行的相关操作,都会影响到security_user这个数据表。如下图所示:

3.3. 角色

点击导航栏的组织权限中的角色管理,可以对左侧的分组列表中的节点进行添加、删除、迁移等操作。如下图所示:

上面对角色添加、删除、迁移等等的操作,都会对security_role这个数据表产生影响。如下图所示:

3.4. 关联

对群组进行设置之后,新建的用户与群组之间存在多对多关系,即同一个用户可以关联多个部门,而一个部门又关联了N多的用户。在对群组添加用户的时候,会自动创建用户和群组的关联。涉及到的数据表为security_user_group_rel。如下图所示,表中有两个字段,分别代表群组的ID(GRP_ID)和用户的ID(USER_ID)。

创建好角色之后,在右侧选择需要关联的用户,可以对角色添加关联用户以及删除该角色已关联的用户。点击添加按钮之后,会弹出选择用户信息的页面,发现内容是群组下面的各用户。点击选择某一个群组下的用户,完成对该角色的用户关联添加操作。

涉及到的数据表为:security_user_role_rel。如下图所示,表中有两个字段,分别为角色的ID(ROLE_ID)和用户的ID(USER_ID)。

关联组群,点击关联群组的选项卡,进入关联群组的页面,如下图,可以通过添加和删除方法,将角色与群组关联以及解除关联。点击添加按钮,弹出选择目标目录的页面,选择想要添加的群组,点击确定,将该群组与左侧选择的角色关联在了一起。

涉及的数据表为security_role_group_rel,如下图所示。表中有两个字段,分别为群组的ID和角色的ID。

4.资源权限

如图所示,资源权限分配有三种形式:按群组分配、按角色分配和按用户分配。根据不同类别的资源,需要在资源各自的“安全管理”中进行权限分配。

4.1. 授权要点

数通畅联产品,不论是AEAI Portal还是其他的外围产品,权限控制体系都是一脉相承的,授权为从上至下的树形授权形式。

例如:在portal中对某一个菜单页面进行授权后,在菜单页面中的所有Portlet都继承了这个授权控制;若对这个菜单页面中的某一个Portlet进行授权,那么就破坏了整个页面的授权控制,除了这个Portlet以外的其他同级Portlet也需要进行授权。

同理,在外围应用中,如下图所示,如果对一个父功能节点进行授权,那么该节点下的子节点都是可以进行访问的,如果对该父功能节点下的一个子节点进行授权,那么同级子节点也需要进行授权,否则就破坏了整体的授权控制。

4.2. 资源分类

资源是组成Portal整体的一部分,同时也是用户实实在在看得见的,经常接触的一部分。所以对资源的权限分配,就显得至关重要。

资源包括以下几类:

a) 导航

b) 菜单及目录

c) 菜单页面

d) Portlet

e) 栏目

f) 信息

g) 应用

4.3. 资源关联

在数据库中以“_auth”结尾的数据表中体现,分别为:security_group_auth、security_role_auth、security_user_auth。下图

在这三个表中都有两个相同的字段,一个是RES_TYPE,另一个是RES_ID。这两个字段,分别对应了资源的类型,以及资源的编号/ID,用于确定具体的资源,再与前面的GROUP_ID、ROLE_ID、USER_ID来绑定关联。注意这里的security_group_auth数据表,不但记录了资源的权限,也记录的数据的权限,详见数据权限控制部分。下面介绍如何通过后台管理控制页面,对不同的资源进行权限分配。

4.3.1. 导航

选择任意一个导航,前提该导航是“登陆后”类型的导航,点击编辑。出现下图的界面。

点击安全管理,进入安全管理控制界面,如下图。后面的安全管理界面与这个界面都是相同的,所以只在这里说明一次。

这里可以看到,该导航资源只能被超级用户登陆,其它的用户无法登陆,不过管理员和默认用户是特殊账号除外。

4.3.2. 目录

进入导航管理,双击进入任意一个导航。选择一个目录,如下图所示,可以在上面找到安全管理的选项卡。

4.3.3. 菜单页面

进入导航管理,双击进入任意一个菜单(或页面)。选择一个菜单(或页面),如下图所示,可以在上面找到安全管理的选项卡。

4.3.4. Portlet

在页面布局里,Portlet中有安全设置,如下图中红框的地方。点击之后,弹出安全配置页面,在安全配置中添加访问权限。

4.3.5. 栏目

在控制后台找到内容管理-->信息分组,点击进入,在左侧找到想要设置的栏目。点击安全管理,如下图所示,在安全管理中添加访问权限

4.3.6. 信息

进入后台管理,进入内容管理-->信息发布,在左侧分组列表,选择需要设置权限的信息的所在栏目。右侧选择信息,在上面会找到安全的按钮。需要注意的是,信息的认证类型有三种:public、protected、private。public表示无论用户是否登陆都可以看到这条信息。protected是指用户必须登陆之后才可以查看此条信息。而当且仅当信息的认证类型为private的时候,上面的安全按钮才会亮,代表可操作。可以选择特定的某些用户或者角色或者群组才有权限查看此条信息。

4.3.7. 应用

进入后台管理,单点登陆-->应用管理,可以看到所有的应用信息,选择需要设置权限的应用,单击上面的安全设置按钮,进入安全配置页面。如下图所示:

AEAI Portal 权限体系说明的更多相关文章

  1. AEAI Portal V3.5.2门户集成平台发版说明

    AEAI Portal门户集成平台为数通畅联的核心产品,本着分享传递的理念,数通畅联将Portal_server.Portal_portlet两个项目开源,目的在于满足客户与伙伴的OEM需求,以及为广 ...

  2. AEAI Portal V3.5.4升级说明,门户集成平台

    1 总体说明 本次升级是AEAI Portal的一次重要升级,主要扩展了开发社区(论坛).移动门户功能,同时修正一些功能BUG等,具体内容如下: 2 升级内容 功能扩展: 扩展开发社区导航 扩展移动门 ...

  3. 浅谈Oracle权限体系

    对于数据库来讲,安全性的重要程度不言而喻,今天我们就来聊一聊Oracle的权限体系. 1.账户管理 在此之前,先解释下一个容易混淆的概念:模式.所谓模式,指的是用户账户所拥有的一组对象(比如表,索引, ...

  4. sqlserver权限体系(下)

    简介 在上一篇文章中,我对主体的概念做了全面的阐述.本篇文章接着讲述主体所作用的安全对象以及所对应的权限. 理解安全对象(Securable) 安全对象,是SQL Server 数据库引擎授权系统控制 ...

  5. sqlserver权限体系(上)

    简介 权限两个字,一个权力,一个限制.在软件领域通俗的解释就是哪些人可以对哪些资源做哪些操作. 在SQL Server中,”哪些人”,“哪些资源”,”哪些操作”则分别对应SQL Server中的三个对 ...

  6. 理解SQL Server中的权限体系(下)----安全对象和权限

    原文:http://www.cnblogs.com/CareySon/archive/2012/04/12/SQL-Security-SecurableAndPermission.html 在开始阅读 ...

  7. 理解SQL Server中的权限体系(上)----主体

    原文:http://www.cnblogs.com/CareySon/archive/2012/04/10/mssql-security-principal.html 简介 权限两个字,一个权力,一个 ...

  8. sql server drop talbe 自动删除关联的外键 ,权限体系(一)

    if object_id('Proc_DropTableWithFK') is not null begin drop proc dbo.Proc_DropTableWithFK end GO ) a ...

  9. mysql数据库的权限体系介绍

    一.权限体系简介: MySQL的权限体系在实现上比较简单,相关权限信息主要存储在mysql.User.mysql.db.mysql.Host.mysql_table_priv和mysql.column ...

随机推荐

  1. 之前的一些Oracle的经验总结

    1. 安装: 1) 关于字符集的选择,现在还不很了解,修改是需要进入一个模式下才可以修改,当然新建一个数据库实例的时候可以重新设定: UTF8是相对比较大的一个字符集, 可以简单实用这个就能保存很多的 ...

  2. Java学习笔记:知识总结

    概述 1991年由sun公司开发的名称为Oak的语言,1994年更名为Java. JDK:Java Development Kit,Java的开发和运行环境,Java的开发工具和JRE. JRE:Ja ...

  3. Python 递归函数 详解

    Python 递归函数 详解   在函数内调用当前函数本身的函数就是递归函数   下面是一个递归函数的实例: 第一次接触递归函数的人,都会被它调用本身而搞得晕头转向,而且看上面的函数调用,得到的结果会 ...

  4. 51nod1347 旋转字符串

    题目很容易懂,只要进行几次简单的判断就能完成此题,显示判断是否为偶数,之后利用sustr截取两个字符串进行比较,代码如下 #include<iostream> #include<st ...

  5. springMVC学习 七 视图解析器

    在springMVC中,如果不配置视图解析器,会走默认的视图解析器,但是有时候配置视图解析器,还有一定的作用 <bean id="viewResolver" class=&q ...

  6. 2018.11.08 NOIP模拟 景点(倍增+矩阵快速幂优化dp)

    传送门 首先按照题意构造出转移矩阵. 然后可以矩阵快速幂求出答案. 但是直接做是O(n3qlogm)O(n^3qlogm)O(n3qlogm)的会TTT掉. 观察要求的东西发现我们只关系一行的答案. ...

  7. 2018.11.07 codeforces559C. Gerald and Giant Chess(dp+组合数学)

    传送门 令f[i]f[i]f[i]表示对于第iii个棋子,从(1,1)(1,1)(1,1)出发到它不经过其它棋子的方案数. 于是我们假设(h,w)(h,w)(h,w)有一个棋子,求出它的fff值就可以 ...

  8. 牛客训练四:Applese 的回文串(思维)

    题目链接:传送门 思路:插入不同的字符与删除不同的字符相同,所以每次判断到不同位置时将这个字符删除然后判断是否为回文串即可, 如果一开始就是回文串,那么答案也是yes. #include<ios ...

  9. Ng第十三课:聚类(Clustering)

    13.1  无监督学习:简介 13.2 K-均值算法 13.3  优化目标 13.4  随机初始化 13.5  选择聚类数 13.1  无监督学习:简介 在这个视频中,将开始介绍聚类算法.这将是一个激 ...

  10. CentOS 6 安装Redmine

    Redmine是一个灵活的项目管理web应用,采用Ruby on Rails框架开发.Redmine是典型的web 2.0网站,项目管理系统的后起之秀.Redmine支持多项目,灵活的角色权限管理,灵 ...