flowable 重構流程編輯器獲取使用者資訊
package org.flowable.ui.common.security; import org.fh.util.Jurisdiction; import org.flowable.common.engine.api.FlowableIllegalStateException; import org.flowable.idm.api.User; import org.flowable.ui.common.model.RemoteUser; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import java.util.ArrayList; import java.util.List; /** * 說明:重構流程編輯器獲取使用者資訊 * 作者:FH Admin * from:fhadmin.cn */ public class SecurityUtils { private static User assumeUser; private static SecurityScopeProvider securityScopeProvider = new FlowableSecurityScopeProvider(); private SecurityUtils() { } /** * Get the login of the current user. */ public static String getCurrentUserId() { User user = getCurrentUserObject(); if (user != null) { return user.getId(); } return null; } /** * @return the {@link User} object associated with the current logged in user. */ public static User getCurrentUserObject() { if (assumeUser != null) { return assumeUser; } RemoteUser user = new RemoteUser(); user.setId(Jurisdiction.getUsername()); user.setDisplayName(Jurisdiction.getName()); user.setFirstName(Jurisdiction.getName()); user.setLastName(Jurisdiction.getName()); user.setEmail("admin@flowable.com"); user.setPassword("123456"); List<String> pris = new ArrayList<>(); pris.add(DefaultPrivileges.ACCESS_MODELER); pris.add(DefaultPrivileges.ACCESS_IDM); pris.add(DefaultPrivileges.ACCESS_ADMIN); pris.add(DefaultPrivileges.ACCESS_TASK); pris.add(DefaultPrivileges.ACCESS_REST_API); user.setPrivileges(pris); return user; } public static void setSecurityScopeProvider(SecurityScopeProvider securityScopeProvider) { SecurityUtils.securityScopeProvider = securityScopeProvider; } public static SecurityScope getCurrentSecurityScope() { SecurityContext securityContext = SecurityContextHolder.getContext(); if (securityContext != null && securityContext.getAuthentication() != null) { return getSecurityScope(securityContext.getAuthentication()); } return null; } public static SecurityScope getSecurityScope(Authentication authentication) { return securityScopeProvider.getSecurityScope(authentication); } public static SecurityScope getAuthenticatedSecurityScope() { SecurityScope currentSecurityScope = getCurrentSecurityScope(); if (currentSecurityScope != null) { return currentSecurityScope; } throw new FlowableIllegalStateException("User is not authenticated"); } public static void assumeUser(User user) { assumeUser = user; } public static void clearAssumeUser() { assumeUser = null; } }
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558068/viewspace-2861712/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- flowable 獲取當前任務流程圖片的輸入流流程圖
- 重構wangEditor(web富文字編輯器),歡迎指正!Web
- flowable流程部署
- 日常筆記二:獲取富文字編輯器中圖片筆記
- ipmitool獲取伺服器資訊MIT伺服器
- javascript 獲取瀏覽器資訊JavaScript瀏覽器
- 微信小程式 獲取使用者資訊微信小程式
- flowable 啟動流程
- 後臺第三方編輯器接入秀米編輯器整體流程
- 微信小程式獲取使用者資訊方法微信小程式
- js獲取ip,瀏覽器資訊JS瀏覽器
- 開源線上視覺化流程編輯器視覺化
- Request.ServerVariables,C#獲取伺服器資訊,C#獲取訪問資訊ServerC#伺服器
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- .NET Core如何全域性獲取使用者資訊?
- 微博app端使用者資訊獲取方法探究APP
- 連線使用者獲取許可權資訊
- c#獲取機器硬體資訊C#
- ASP.Net 獲取伺服器資訊ASP.NET伺服器
- asp.net獲取伺服器資訊ASP.NET伺服器
- PHP獲取客戶端、PHP獲取伺服器相關資訊PHP客戶端伺服器
- 主流流程引擎 flowable 啟動流程
- Flowable 6.6.0 BPMN使用者指南-(2)配置 - 2.18.4 向流程定義增加偵聽器
- 微信網頁授權並獲取使用者資訊網頁
- 微信小程式 getUserProfile 獲取使用者資訊微信小程式
- Node.js 微信小程式獲取使用者資訊Node.js微信小程式
- 蘋果iOS有後門 能獲取使用者資訊蘋果iOS
- SAP中關於使用者IP資訊的獲取
- python使用ldap3獲取使用者資訊PythonLDA
- 根據微信code獲取換取使用者登入態資訊
- 視覺化表單流程編輯器為啥好用?視覺化
- flowable 三種方式部署流程
- 使用flowable部署流程定義
- flowable流程引擎通過模型ID部署流程模型
- flowable流程引擎透過模型ID部署流程模型
- 好程式設計師分享Linux重器vi編輯器程式設計師Linux
- asp.net無法獲取kindeditor文字編輯器內容的解決辦法ASP.NET
- C++--Win32--列表編輯--獲取列表內容--獲取列表行數--修改列表內容C++Win32