flowable 繞過idm自帶的身份驗證
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-2889029/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- VMware 修復CVSS評分9.8的身份驗證繞過漏洞
- mysql身份認證繞過漏洞復現(CVE-2012-2122)MySql
- 戴爾、聯想、微軟膝上型電腦上的Windows Hello身份驗證可被繞過微軟Windows
- 什麼是自適應身份驗證?
- 烽火狼煙丨VMware Workspace ONE Access身份驗證繞過、本地提權漏洞風險提示
- 記憶體安全週報第112期|Fortinet 釋出了繞過身份驗證的緊急補丁記憶體
- 存在至少10年!主動利用的漏洞繞過數百萬路由器上的身份驗證路由器
- 直播軟體搭建,姓名,身份證input驗證過濾
- 身份證驗證工具類
- 影片直播app原始碼,姓名,身份證input驗證過濾APP原始碼
- 【PTA】查驗身份證
- CVSS評分10.0,思科披露其BroadWorks平臺身份認證繞過漏洞
- PHP 驗證身份證號碼PHP
- C++身份證號驗證C++
- Duo Security 研究人員對PayPal雙重驗證的繞過
- vue+webpack繞過QQ音樂介面對host的驗證VueWeb
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- python - 驗證身份證合法性Python
- js正則驗證身份證號JS
- 中國身份證號驗證庫
- kafka SASL/PLAIN 身份驗證KafkaAI
- 客戶端身份驗證客戶端
- 舊香港身份證校驗
- flowable 6.6.0 去掉自帶的登入許可權
- 太囂張了!他竟用Python繞過了“驗證碼”Python
- asp.core 同時相容JWT身份驗證和Cookies 身份驗證兩種模式JWTCookie模式
- 一個簡單的身份證校驗
- 7-3 查驗身份證
- 身份證合法性校驗
- javascript身份證號碼校驗JavaScript
- SpringBoot整合JWT做身份驗證Spring BootJWT
- JS驗證18位身份證號的正確性JS
- win10 的windows身份驗證怎麼開啟_win10怎麼進行身份驗證Win10Windows
- 利用基於 NTP 的 TOTP 演算法缺陷繞過 WordPress 登陸驗證演算法
- C++批次核驗身份證真偽、實名認證介面、身份證識別C++
- 安全性測試入門 (五):Insecure CAPTCHA 驗證碼繞過APT
- 身份證最後一位的校驗
- JS校驗身份證號的合法性JS