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. luaFramework

    BeginStaticLibs  参考CustomSettings.cs public static List<Type> staticClassTypes = new List<T ...

  2. Ubuntu服务器如何搭建PPTPD(原创保证可用)

    Ubuntu是一款基于linux的操作系统,无需许可和订购的费用,Ubuntu Server可以帮助您高效地扩展您的数据中心.它精简的架构和自动化部署的能力让您只需花费更少的运算能力和资源,便可提供更 ...

  3. 【搜索】 Prime Path

    #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include& ...

  4. Flex的Number和Text

    今天要说的问题不是Number和String转换的问题.而是使用时容易出的一些错误: public static function ToFixed(value:Number, digits:uint ...

  5. Java类加载机制及自定义加载器

    转载:https://www.cnblogs.com/gdpuzxs/p/7044963.html Java类加载机制及自定义加载器 一:ClassLoader类加载器,主要的作用是将class文件加 ...

  6. 【Tomcat】Tomcat + Memcached 实现session共享

    概述 web项目中,Tomcat的访问量总是有限的,这时候就需要用到Tomcat集群,多个Tomcat的时候就要考虑Session共享的问题,这里介绍一种使用Memcached做Session共享的解 ...

  7. 金币(NOIP2015)

    先给题目:金币 又是很水的题,很简单,直接上代码: #include<bits/stdc++.h> using namespace std; int main(){ int n; scan ...

  8. 手机上输入http://192.168.1.102:8888/FiddlerRoot.cer为什么下载不了证书

    因为之前你的手机可能已经安装了该证书,所以再次下载会说找不到证书 解决办法:如果你遇到上面的问题,就可能是证书的问题(我的本地证书是用系统生成证书的一个软件生成的个人证书,所以出现了问题),操作步骤如 ...

  9. mysql 表锁进程非常多的情况

    今天要说的是mysql 的 MYISAM引擎下的表锁问题. 通常来说,在MyISAM里读写操作是串行的,但当对同一个表进行查询和插入操作时,为了降低锁竞争的频率,根据concurrent_insert ...

  10. OpenCV(1):显示图像

    显示图像 #include<iostream> #include<opencv2/core/core.hpp> #include<opencv2/highgui/high ...