我们在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