我們在Camunda BPM中部署了基於Spring的應用程序。我們在這裏使用Camunda JAVA API暴露了一些REST服務。我們在沒有Camunda REST api的情況下做了一些特定的要求。這些自定義REST服務正在運行,不需要授權&授權。我能夠通過這些服務創建/完成/刪除進程&任務,而無需對有效用戶進行身份驗證。我想知道如何強制Camunda Java apis在執行之前查找經過身份驗證的用戶。我正在使用Camunda BPM 7.3。如何在Camunda Java api中強制進行身份驗證?
2
A
回答
4
我找到了答案。這種情況下的身份驗證在我們手中。我們必須以任何我們想要的方式對用戶進行身份驗證,然後在identityService中設置經過身份驗證的userId。如果經過身份驗證的用戶爲空,則也會跳過authroization檢查。因此,我的代碼沒有驗證工作。
登記AuthorizationManager類下面的代碼 -
public void checkAuthorization(List<PermissionCheck> permissionChecks) {
Authentication currentAuthentication = getCurrentAuthentication();
CommandContext commandContext = getCommandContext();
if(isAuthorizationEnabled() && currentAuthentication != null && commandContext.isAuthorizationCheckEnabled()) {
String userId = currentAuthentication.getUserId();
boolean isAuthorized = isAuthorized(userId, currentAuthentication.getGroupIds(), permissionChecks);
...........
.......
如從IF條件是顯而易見的,如果currentAuthentication是空的isAuthroized()方法將不被調用。
要記住的另一件事是在bpm-platform.xml中,我們已經定義了ProcessEngineConfiguration,我們需要將authorizationEnabled屬性設置爲true。
相關問題
- 1. 使用REST API進行身份驗證
- 2. 使用Web API進行身份驗證
- 3. 如何進行身份驗證在
- 4. Facebook中的強制身份驗證
- 5. 如何在python中使用atlassian bitbucket api進行身份驗證?
- 6. 如何在流明API中進行身份驗證?
- 7. 如何在Python中使用OneDrive API進行身份驗證?
- 8. 如何在Web API中使用Api密鑰進行使用表單身份驗證的服務身份驗證
- 9. 如何在Java中進行HTTP身份驗證?
- 10. 有沒有辦法強制Zend_Auth進行身份驗證?
- 11. 如何進行websocket身份驗證?
- 12. 在Ruby中使用REST API - 何時進行身份驗證?
- 13. 通過REST API進行身份驗證並保護API本身
- 14. 強制Django頻道Websocket身份驗證
- 15. 用asp.net進行Azure AD身份驗證身份驗證
- 16. 在CakePHP中進行身份驗證
- 17. 在Azure中進行身份驗證
- 18. 使用Java對HP ALM 12 REST API進行身份驗證
- 19. Authlogic - 通過基本HTTP身份驗證進行身份驗證
- 20. 在WebRequest中強制執行基本身份驗證
- 21. 無法在IBM Worklight中使用LDAP身份驗證進行身份驗證
- 22. 如何使用Java for Sharepoint 2016中的REST API進行身份驗證?
- 23. Azure KeyVaultClient:使用Java中的證書進行身份驗證
- 24. 如何使用Oracle身份管理器進行身份驗證?
- 25. 如何強制Facebook Connect使用iFrame而不是覆蓋進行身份驗證
- 26. 如何強制與本地asp.net開發服務器進行Windows身份驗證?
- 27. OpenId或Facebook Connect:如何強制用戶再次進行身份驗證?
- 28. 如何使用JWT保持使用API進行身份驗證
- 29. 天青:如何進行身份驗證服務API調用
- 30. 如何使用API密鑰進行身份驗證 - Django Tastypie