jbpm 和 drools_jBPM和Drools工作台中的用户和组管理
jbpm 和 drools
介紹
本文討論了一項新功能,該功能允許使用集成在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.properties和application-roles.properties
- Tomcat發行版 –使用為默認領域文件tomcat-users.xml的使用而配置的Tomcat安全管理提供程序
如果您的領域設置與默認設置不同,請閱讀每個提供商的文檔以應用具體設置。
另一方面,如果要構建自己的安全管理提供程序或需要將其包含在現有應用程序中,請考慮以下安裝選項:
- 在現有的WAR發行版上啟用安全管理功能
- 在現有或新項目中進行設置和安裝(來自源)
注意:如果應用程序中未安裝任何安全管理提供程序,則將沒有可用的用戶界面來管理安全領域。 安裝和設置安全管理提供程序后,將自動啟用用戶和組管理用戶界面,并可以從主菜單中對其進行訪問。
在現有的WAR發行版上啟用安全管理功能
給定Drools和jBPM工作臺的現有WAR分發,請按照以下步驟安裝和啟用用戶管理功能:
- WEB-INF / lib / uberfire-security-management-api-6.4.0.Final..jar
- WEB-INF / lib / uberfire-security-management-backend-6.4.0.Final..jar
- 例如:WEB-INF / lib / uberfire-security-management-wildfly-6.4.0.Final..jar
- 如果您使用的具體提供程序需要更多庫,則也要添加這些庫。 請閱讀每個提供商的文檔以獲取更多信息。
在現有或新項目中進行設置和安裝(來自源)
如果您要構建基于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
總結
以上是生活随笔為你收集整理的jbpm 和 drools_jBPM和Drools工作台中的用户和组管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 壳可以组什么词 壳如何组词
- 下一篇: idea添加jboss_如何将云持久存储