我正在使用WSO2-EI 6.4.0。我已经用link尝试了这种开发。它对我有用。但是我需要从其他后端服务获取用户名和密码。在此示例中,显示了用户名和密码。我已添加该代码供您参考。请帮助我从属性文件中获取这些用户名和密码。
(dob)
我添加了WSO2 EI处理程序,如下所示。我需要传递后台服务的值或调用其他序列并加载。
public boolean processSecurity(String credentials) {
String decodedCredentials = new String(new Base64().decode(credentials.getBytes()));
String usernName = decodedCredentials.split(":")[0];
String password = decodedCredentials.split(":")[1];
if ("admin".equals(username) && "admin".equals(password)) {
return true;
} else {
return false;
}
}
当我们运行上述API时,处理程序会先运行,然后再按入和出顺序运行。因此,在运行此BasicAuthHandler之前,我需要获取调用Sequence或其他方法的用户名和密码。
答案 0 :(得分:0)
如果您需要从类调解器读取属性文件,则直接进行Java属性文件读取。请参考以下读取属性文件的呼叫示例。在这种情况下,只需读取conf目录中存在的carbon.properties文件。
public boolean mediate(MessageContext context) {
String passwordFileLocation = System.getProperty("conf.location")+"/carbon.properties";
try (FileInputStream input = new FileInputStream(passwordFileLocation)) {
Properties prop = new Properties();
// load a properties file
prop.load(input);
log.info("------org.wso2.CipherTransformation : " + prop.getProperty("org.wso2.CipherTransformation"));
} catch (IOException ex) {
ex.printStackTrace();
}
return true;
}
要获取服务器位置和配置,在wso2服务器启动时设置了JAVA系统属性。以下是一些有用的系统系统属性。