`
agileai
  • 浏览: 55295 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

AEAI Portal 权限体系说明

 
阅读更多

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. 应用

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics