介绍

本文讨论了一项新功能,该功能允许使用集成在jBPM和Drools Workbenches中的直观友好的用户界面来管理应用程序的用户和组。

用户和组管理

在安装,设置和使用此功能之前,本文讨论了一些以前的概念,需要进一步理解才能进一步使用。

因此,本文分为以下几节:

  • 安全管理提供者和功能
  • 安装与设定
  • 用法

笔记:

  • 版本6.4.0.Final中包含此功能。
  • 可用资源在这里 。

安全管理提供商

通常通过使用领域来提供安全环境。 领域用于限制对不同应用程序资源的访问。 因此,领域包含有关用户,组,角色,权限和任何其他相关信息的信息。

在大多数典型方案中,应用程序的安全性委派给容器的安全性机制,该机制同时消耗给定领域。 重要的是要考虑到存在多个领域实现,例如Wildfly提供了基于application-users.properties / application-roles.properties文件的领域,Tomcat提供了基于tomcat-users.xml文件的领域,等等。请记住,没有单一的安全领域可依赖,在每个安装中它可以有所不同。

jBPM和Drools工作台也不例外,它们建立在顶级Uberfire框架 (又名UF)上,该框架还将授权和身份验证委派给基础容器的安全环境,因此使用的领域由具体的部署配置提供。

安全管理提供商

由于必须支持潜在的不同安全环境,因此用户和组管理提供了定义良好的管理服务API,并带有一些默认内置
安全管理提供者安全管理提供程序是给定领域的具体用户和组管理服务实现的正式名称。

目前,默认情况下,可以使用三个安全管理提供程序:

  • Wildfly / EAP安全管理提供程序 –基于属性文件的领域。
  • Tomcat安全管理提供程序 –基于XML文件的领域。
  • Keycloak安全管理提供程序 –用于管理基于Keycloak的领域。 该提供程序包含在当前正在开发的下一个7.0系列的技术预览中。

在更多版本上保持有关新安全管理提供程序的更新。 如果您的环境中没有适合的默认值,则可以轻松构建和注册自己的安全管理提供程序。

安全管理提供程序功能

每个安全领域可以提供支持不同的操作。 例如,考虑基于属性文件使用Wildfly领域, applications-users.properties的内容如下:

admin=207b6e0cc556d7084b5e2db7d822555c
salaboy=d4af256e7007fea2e581d539e05edd1b
maciej=3c8609f5e0c908a8c361ca633ed23844
kris=0bfd0f47d4817f2557c91cbab38bb92d
katy=fd37b5d0b82ce027bfad677a54fbccee
john=afda4373c6021f3f5841cd6c0a027244
jack=984ba30e11dda7b9ed86ba7b73d01481
director=6b7f87a92b62bedd0a5a94c98bd83e21
user=c5568adea472163dfc00c19c6348a665
guest=b5d048a237bfd2874b6928e1f37ee15e
kiewb=78541b7b451d8012223f29ba5141bcc2
kieserver=16c6511893651c9b4b57e0c027a96075

如您所见,它基于键值对,其中键是用户名,而值是用户密码的哈希值。 因此,仅通过键,用户名,名称,地址等来定义用户。

另一方面,请考虑使用Keycloak服务器提供的领域。 用户的信息由更多的用户元数据组成,例如姓,地址等,如下图所示:

管理员用户使用Keycloak秒进行编辑。 管理提供者

创建用户,因此用户和组管理API中不同的服务和客户端组件均基于功能
功能用于公开或限制由不同服务和客户端组件提供的可用功能。 功能示例包括:

  • 更新用户
  • 删除用户
  • 更新用户属性
  • 创建组
  • 分配组
  • 分配角色  
  • 等等

每个安全管理提供程序必须指定一组支持的功能。 从前面的示例中,您可以注意到,Wildfly安全管理提供程序不支持用户属性的管理功能-用户仅由用户名组成。 另一方面,Keycloak提供程序确实支持此功能。

不同的视图和用户界面组件依赖于每个提供程序支持的功能,因此,如果使用中的提供程序不支持该功能,则UI不会提供用于管理该功能的视图。 例如,请考虑一个具体的提供者不支持删除用户–用户界面上的删除用户按钮将不可用。

请查看具体的服务提供商文档,以检查每种支持的所有功能,可以在此处找到默认功能。

如果任何默认提供程序都不支持安全环境,则可以构建自己的安全环境。 请保持有关有关如何创建自定义安全管理提供程序的其他文章的最新信息。

安装与设定

在考虑安装和设置步骤之前,请注意以下默认的Drools和jBPM发行版带有内置的,预安装的安全管理提供程序:

  • Wildfly / EAP分发 –两种分发都使用Wildfly安全管理提供程序 ,该提供程序配置为使用默认领域文件应用程序users.propertiesapplication-roles.properties
  • Tomcat分发 –使用为默认域文件tomcat-users.xml的使用而配置的Tomcat安全管理提供程序

如果您的领域设置与默认设置不同,请阅读每个提供商的文档以应用具体设置。

另一方面,如果要构建自己的安全管理提供程序或需要将其包含在现有应用程序中,请考虑以下安装选项:

  • 在现有的WAR发行版上启用安全管理功能
  • 在现有或新项目中进行设置和安装(来自源)

注意:如果应用程序中未安装安全管理提供程序,则将没有可用的用户界面来管理安全领域。 安装和设置安全管理提供程序后,将自动启用用户和组管理用户界面,并可以从主菜单中对其进行访问。

在现有的WAR发行版上启用安全管理功能

给定Drools和jBPM工作台的现有WAR分发,请按照以下步骤安装和启用用户管理功能:

  1. 确保WEB-INF / lib上存在以下库:

    • WEB-INF / lib / uberfire-security-management-api-6.4.0.Final..jar
    • WEB-INF / lib / uberfire-security-management-backend-6.4.0.Final..jar
  2. WEB-INF / lib中添加供安全管理提供程序使用的具体库:
    • 例如:WEB-INF / lib / uberfire-security-management-wildfly-6.4.0.Final..jar
    • 如果您使用的具体提供程序需要更多库,则也要添加这些库。 请阅读每个提供商的文档以获取更多信息。
  3. 将整个内容替换为文件WEB-INF / classes / security-management.properties ,如果不存在,则创建它。 该文件上存在的设置取决于您所使用的具体实现。 请阅读每个提供商的文档以获取更多信息。
  4. 如果要在Wildfly或EAP上进行部署,请检查WEB-INF / jboss-deployment-structure.xml是否需要任何更新。 请阅读每个提供商的文档以获取更多信息。

在现有或新项目中进行设置和安装(来自源)

如果您要构建基于Uberfire的Web应用程序,并且要包括用户和组管理功能,请阅读此说明 。

禁用安全管理功能

可以禁用安全管理功能,因此任何一种都不能使用任何服务或用户界面

  • 从应用程序卸载安全管理提供程序如果在应用程序上未安装任何具体的安全管理提供程序,则将禁用用户和组管理功能,并且不会向用户提供任何服务或用户界面。
  • 删除或注释安全管理配置文件删除或注释位于WEB-INF / classes / security-management.properties的配置文件中的所有行将禁用用户和组管理功能,并且不会向用户显示任何服务或用户界面。

用法

用户和组管理功能是使用两个不同的视角来呈现的,这些视角可从主“ 主页”菜单中获得(考虑到该功能已启用),如下所示:

用户和组管理菜单项

阅读以下各节,以同时使用用户和组管理透视图。

用户管理

用户管理界面可从“ 主页”菜单中的“ 用户管理”菜单项获得。

该界面使用两个主面板显示:西面板上的用户资源管理器和中间面板上的用户编辑器:

用户管理角度

除了列出所有用户之外,用户资源管理器还允许:西面板上的用户资源管理器默认列出应用程序安全领域中存在的所有用户:

  • 搜索用户
    在搜索框中指定搜索模式时,用户列表将减少,仅显示与搜索模式匹配的用户。搜索模式取决于应用程序所使用的具体安全管理提供程序。 请阅读每个提供商的文档以获取更多信息。
  • 创建新用户 通过单击创建新用户按钮,将在中心面板上显示一个新屏幕,以执行新用户创建。

中央面板上的用户编辑器用于创建,查看,更新或删除用户。 创建新用户或在用户浏览器中单击现有用户后,将打开用户编辑器屏幕。

查看现有用户 ,请在“用户资源管理器”中单击现有用户以打开“用户编辑器”屏幕。 例如,在使用Wildfly安全管理提供程序时查看管理员用户将在以下屏幕中显示:

查看管理员用户

相同的管理员用户视图操作,但使用Keycloak安全管理提供程序而不是Wildfly的提供程序时,将在以下屏幕中显示:

使用Keycloak秒。 管理提供者

如您所见,用户编辑器在使用Keycloak sec时。 管理提供程序包括用户属性管理部分,但使用Wildfly的部分不存在。 因此请记住,用户界面上可用的信息和操作取决于每个提供程序的功能(如前几节所述),

在用户编辑器中查看用户将提供以下信息(如果提供程序支持的话):

  • 用户名
  • 用户的属性
  • 分配的组
  • 分配的角色

为了更新或删除现有用户 ,请在用户编辑器屏幕中单击用户名旁边的“ 编辑”按钮:

编辑管理员用户

更新用户的属性一旦用户编辑器以编辑方式出现,就可以执行不同的操作(如果使用的安全管理提供程序支持它):

可以更新现有的用户属性,例如用户名,姓氏等。如果安全管理提供程序支持,还可以创建新的属性。

  • 更新分配的组单击“ 添加到组”按钮时, 显示一个组选择弹出窗口: 该弹出屏幕允许用户搜索并选择或取消选择为当前正在编辑的用户分配的组。
  • 更新分配的角色单击添加到角色按钮时, 显示一个角色选择弹出窗口: 该弹出屏幕允许用户搜索和选择或取消选择为当前正在编辑的用户分配的角色。
  • 修改用户密码

单击更改密码按钮时,将显示一个更改密码弹出屏幕:

  • 删除用户

单击“ 删除”按钮,可以从领域中删除当前正在编辑的用户。

集团管理

可以从“ 主页”菜单中的“ 组管理”菜单项访问组管理界面。

该界面使用两个主面板显示:西面板上的分组浏览器和中间面板上的分组编辑器:

集团管理的角度

西面板上的“ 组资源管理器”默认情况下列出了应用程序安全领域中存在的所有组:

群组浏览器

除了列出所有组,组浏览器还允许:

  • 搜索组

在搜索框中指定搜索模式时,用户列表将减少,并且将仅显示与搜索模式匹配的用户。

使用搜索过滤的网上论坛浏览器

搜索模式取决于应用程序所使用的具体安全管理提供程序。 请阅读每个提供商的文档以获取更多信息

  • 建立新群组 通过单击创建新组按钮,中心面板上将出现一个新屏幕,以执行新组创建。 创建新组后,便可以为其分配用户:

    将用户分配给最近创建的组

中心面板上的组编辑器用于创建,查看或删除组。 创建新组后,在组浏览器中单击现有组,将打开组编辑器屏幕。

查看现有组 ,请在“组资源管理器”中单击现有用户以打开“组编辑器”屏幕。 例如,在以下屏幕上查看销售组结果:

查看销售组

删除现有组,只需单击“ 删除”按钮。

翻译自: https://www.javacodegeeks.com/2016/04/user-group-management-jbpm-drools-workbenches.html

jBPM和Drools工作台中的用户和组管理相关推荐

  1. jbpm 和 drools_jBPM和Drools工作台中的用户和组管理

    jbpm 和 drools 介绍 本文讨论了一项新功能,该功能允许使用集成在jBPM和Drools Workbenches中的直观友好的用户界面来管理应用程序的用户和组. 用户和组管理 在安装,设置和 ...

  2. linux的安装组和管理组的区别吗,Linux用户和组管理

    Linux用户和组管理 安装上下文: 进程以其发起者的身份运行: 进程对文件的访问权限,取决于发起此进程的用户的权限: 系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建 ...

  3. linux权限管理之用户和组管理

    用户 和 权限 的基本概念 基本概念 用户 是 Linux 系统工作中重要的一环,用户管理包括 用户 与 组 管理 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并 ...

  4. linux限制组访问权限,linux用户和组管理以及文件权限访问控制ACL策略

    01.通配符 文件通配符可以用来匹配符合条件的多个文件,方便批量管理文件. 通配符采用特定的符号,表示特定的含义,此符号称为元 meta 字符. 常见的通配符如下: * 匹配零个或多个字符,但不匹配 ...

  5. linux操作系统-----用户与组管理(3)

    用户与组管理 前言 账号管理命令 示例 用户与系统文件空间 主目录 用户与磁盘空间 磁盘限额 文件权限管理 文件权限 查看文件权限 文件权限示例 改变属主和属组 改变访问权限 文件的特殊权限 前言 账 ...

  6. 禁用和恢复用户账户Linux,linux用户和组管理.ppt

    <linux用户和组管理.ppt>由会员分享,可在线阅读,更多相关<linux用户和组管理.ppt(32页珍藏版)>请在人人文库网上搜索. 1.第5章 用户和组管理,5.1 概 ...

  7. linux运维管理系统培训,Linux运维教程之Linux系统用户与组管理

    今天小编要跟大家分享的文章是关于Linux运维教程之Linux系统用户与组管理.正在从事Linux运维工作和学习的小伙伴们来和小编一起看一看吧,希望本篇文章能够对大家有所帮助. 一.Linux系统用户 ...

  8. linux组的管理命令,Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  9. linux学成之路(四)上 linux用户与组管理

    目录 一.什么是用户管理 二.用户概述 一.什么是用户 二.用户类型 三.模板目录 一.为什么称为模板目录 二.运维案例 四.查看历史命令 五.相关文件 六.用户操作 一. shell 二.usera ...

最新文章

  1. Excution failed for task ':app:transformClassWithDexForDebug'
  2. loganalyzer部署文档-(第一部分)
  3. 鸿蒙电视哔哩哔哩,[4K视频] 65寸智能电视只要3299元?荣耀智慧屏X1开箱
  4. 【python】一个简单的贪婪爬虫
  5. 【数据结构与算法】动画:什么是 BF 算法 ?
  6. Winform 自定义窗体皮肤组件
  7. Hadoop异常 hdfs.DFSClient: DataStreamer
  8. mpvue v-html解决方案,mpvue开发小程序所遇问题及h5转化方案
  9. Spring Boot————单元测试
  10. php mysql销售_计算用于销售应用程序的php / mysql中的损益(每日,每月和每年)...
  11. Teigha4.0数据结构和读取
  12. 以现在的眼光来看,Windows 95是怎样的操作系统?
  13. 一键式文件共享软件Jirafeau
  14. ftp服务器文件不显示,ftp服务器不显示文件夹大小
  15. 用python将九九乘法口诀表打印在Excel中
  16. Tri-Training: Exploiting Unlabeled Data Using Three Classifiers
  17. IBM建立大中华区云计算中心供验证测试
  18. [C#入门] 函数 | 方法
  19. 爪哇国新游记之二十一----快算24
  20. 淘宝教育视频加速观看(在淘宝教育上看学习视频,需要加速,在谷歌浏览器上安装视频加速插件)

热门文章

  1. Tomcat Get请求的巨坑
  2. sqlserver建库建表建约束,删库删表删约束的示例总结
  3. Servlet使用适配器模式进行增删改查案例(EmpDaoImpl.java)
  4. sql server简单查询
  5. SpringBoot(笔记)
  6. 程序员成长之路 java面试指导(作者说的极好要看) 静下心看
  7. centos上安装jdk
  8. selenium 示例_Selenium测试中所需的功能和示例
  9. jsf 项目_您将在下一个项目中使用JSF吗?
  10. 根据变量推断变量类型_Java A的新本地变量类型推断