我在WSO2 ESB中有很多代理我必须安全。我需要在部署时使用用户名令牌进行安全化,而不是浏览仪表板并逐个启用它。
任何帮助?
答案 0 :(得分:0)
我猜当前,您需要使用管理控制台并执行此操作。在UI中,它正在调用后端Web服务。您可以通过自动化此后端Web服务来自动执行流程。此Web服务由以下组件[1]公开。您可以使用soapui或某些客户端程序自动执行此Web服务。
答案 1 :(得分:0)
我有类似的要求,这是我如何解决它
Apply Role security to WSO2 ESB Proxy using Java API
此外,您可以在此处找到有关如何使用方法的测试用例
在这里,代码片段如何使用WSO2 ESB的默认安全方案来保护任何代理服务。在WSO2中,ESB“scenario1”表示基于Usernametoken的安全性。现在,如果您希望使用scenario1保护代理,请按照以下代码段进行操作:
public void applySecurityOnService(String serviceName, String policyId,
String[] userGroups, String[] trustedKeyStoreArray,
String privateStore)
throws SecurityAdminServiceSecurityConfigExceptionException,
RemoteException {
ApplySecurity applySecurity;
applySecurity = new ApplySecurity();
applySecurity.setServiceName(serviceName);
applySecurity.setPolicyId("scenario" + policyId); //scenario1 i.e. for Usernametoken security policyId should be 1
applySecurity.setTrustedStores(trustedKeyStoreArray);
applySecurity.setPrivateStore(privateStore);
applySecurity.setUserGroupNames(userGroups);
stub.applySecurity(applySecurity);
_logger.info("Security Applied Successfully");
}
以下是您可以从客户端类调用此方法的方法:
applySecurityOnService("MyProxy", "1", new String[]{"TestRole"}, new String[]{"wso2carbon.jks"}, "wso2carbon.jks");