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 獲取當前任務流程圖片的輸入流流程圖
- 獲取微信使用者基本資訊
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- ipmitool獲取伺服器資訊MIT伺服器
- 日常筆記二:獲取富文字編輯器中圖片筆記
- 微信小程式 獲取使用者資訊微信小程式
- 微信小程式獲取使用者資訊方法微信小程式
- python使用ldap3獲取使用者資訊PythonLDA
- .NET Core如何全域性獲取使用者資訊?
- 微信小程式 getUserProfile 獲取使用者資訊微信小程式
- flowable流程部署
- 使用visjs分析flowable流程資料JS
- 前端獲取視訊編碼格式前端
- 獲取位置資訊
- 後臺第三方編輯器接入秀米編輯器整體流程
- 音訊後設資料編輯器:Tagr for Mac音訊Mac
- 音訊後設資料編輯器Metadatas for Mac音訊Mac
- 企業微信登入獲取使用者資訊
- flowable 啟動流程
- 2、資源編輯器篇 -- 資源分析器(ResourceAnalyzer) 讀取 資源依賴資訊 基於GF (EllanJiang / GameFramework)GAMFramework
- 用PyQt5編輯 12306車票資訊爬取程式QT
- ajax編輯資訊和刪除資訊
- 根據微信code獲取換取使用者登入態資訊
- Mac音訊標籤編輯器Mac音訊
- Amadeus Pro for mac(音訊編輯器)Mac音訊
- 開源線上視覺化流程編輯器視覺化
- 微信網頁授權並獲取使用者資訊網頁
- Python Web 框架 Django 如何使用jwt獲取使用者資訊PythonWeb框架DjangoJWT
- Node.js 微信小程式獲取使用者資訊Node.js微信小程式
- Flowable 6.6.0 BPMN使用者指南-(2)配置 - 2.18.4 向流程定義增加偵聽器
- 輕鬆編輯影像資訊
- 編輯器快速列印html模板結構HTML
- 基於slate構建文件編輯器
- springboot 整合 flowable 流程引擎Spring Boot
- 好程式設計師分享Linux重器vi編輯器程式設計師Linux
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- 獲取jwt(json web token)中儲存的使用者資訊JWTJSONWeb
- 微信小程式三種獲取使用者資訊的方式微信小程式