Ebaas

设置Web界面菜单访问权限

May 11, 2020 | 0 Minute Read

除了在数据层面设置权限控制外,您还可以在Web功能层面设置权限。通过前面的教程,您已经了解如何使用SiteMapStudio为Web页面创建各种菜单来实现界面操作功能。

您也许需要在Web界面针对不同角色的用户显示不同的菜单项。例如,对“事务跟踪管理”系统,允许具有管理员角色的用户使用所有菜单项。而针对普通用户,则隐藏所有与系统管理相关的菜单功能,比如“表单设计器”等。

这个教程,我们介绍如何使用SiteMapStudio来设置Web界面菜单的权限,使得“系统设置”菜单下的所有菜单项只对系统管理员角色的用户显示。

使用SiteMapStudio配置权限

  • 从“开始” => Ebaas => SiteMapStudio打开SiteMapStudio工具, 登录为admin;

类似上个教程所介绍的,我们要选择权限冲突解决方案。在这里教程中,我们将使用“允许优先”设置,使得具有“允许”权限的规则来决定用户对菜单的访问权限。

  • 在左边的导航栏中选择“事务跟踪管理”网站地图 => 点击工具栏的“编辑”菜单 => “选项” => “权限控制” => 在弹出的“权限控制选项”对话框中,选择“允许优先”。见下图:

在前面的教程,我们为网站地图创建了一个全局的权限规则,该规则允许所有人访问网站的所有菜单项。接下来,我们要对“系统设置”菜单项设置系统管理员的访问权限。因为“系统设置”菜单为菜单组,所以在“系统设置”菜单组上设置的权限会被该菜单组所包含的菜单项继承。这样我们就不需要单独为下属的菜单项设置权限了。

  • 在左边的导航栏的“事务跟踪管理”网站地图下,选择“系统设置”菜单 => 右边选择“权限控制”选项卡,可以看到有一条继承的“Everyone”的权限规则,该规则允许所有人访问这个菜单功能,如下图所示:

首先,我们需要创建一条本地的“Everyone”规则覆盖继承的规则,并将权限修改为“拒绝”。

  • 点击下方的“添加”按键 => 弹出“选择用户和角色”框 => 类型选择“角色” => 再选择名称“Everyone”的角色 => 单击“确认”按钮.如下图所示:

在弹出的“确认”框,单击“是”按键以确认覆盖同名规则,如下图所示:

可以看到“Everyone”规则隶属已改为“本地”。将其权限设置为“拒绝”,表示所有人均不能访问,见下图:

接下来,我们需要创建一条权限规则允许具有“Administrator”角色的用户访问“系统设置”菜单。

  • 点击“添加”按钮 => 弹出“选择用户和角色”框 => 类型选择“角色” => 再选择名称“Administrator”角色 => 单击“确认”按钮.如下图所示:

保留“Administrator”权限设置为“允许”,如下图所示:

单击工具栏“保存”图标,保存设置,如下图所示:

注意: 需要重新启动Ebaas服务器才能使更改SiteMap生效。


测试Web界面权限

  • 使用推荐的浏览器访问: http://localhost:8080;
  • 登录为用户demo2(密码:888)。由于demo2用户不属于“系统管理员”角色,登入进去后,在导航栏看不到“系统设置”菜单,而且在首页看不到“表单设计”菜单项,如下图所示:

  • 退出demo2登录 => 登录为demo1(密码:888)。由于demo1用户具有“系统管理员”角色,在导航栏可以看到“系统设置”菜单,而且在首页可看到“表单设计”菜单项,如下图所示:

验证了权限设置工作正常。