我想为将用于任何webapps的api端点存储密码。
在文件catalina-server.xml
中,我进行了以下配置
...
<GlobalNamingResources>
<Environment name="paci/connectionUrl" type="java.lang.String" value="http://10.0.0.1:1234/paci/v1.0"/>
<Environment name="paci/adminUser" type="java.lang.String" value="admin"/>
<Environment name="paci/adminPass" svns:secretAlias="Paci.AdminUser.Password" type="java.lang.String" value="password"/>
</GlobalNamingResources>
我使用此doc配置安全保管库以使用密码工具。
cipher-tool.properties
Paci.AdminUser.Password=repository/conf/tomcat/catalina-server.xml//Server/GlobalNamingResources/Environment[@name='paci/adminPass'][@value],true
cipher-text.properties
Paci.AdminUser.Password=EnCrYpTeDvAlUe123
在网络应用程序中,我必须添加META-INF/context.xml
中全局资源的链接,以使JNDI得到解决。
...
<Context>
<ResourceLink global="paci/connectionUrl" name="paci/connectionUrl" type="java.lang.String" />
<ResourceLink global="paci/adminUser" name="paci/adminUser" type="java.lang.String" />
<ResourceLink global="paci/adminPass" name="paci/adminPass" type="java.lang.String" />
</Context>
这是我的代码:
Context initCtx = new InitialContext();
String paciPass = (String) initialContext.lookup("java:comp/env/paci/adminPass");
paciPass
的值是“密码”,而不是加密密码。我不知道为什么保险库没有返回加密的通行证。
我需要对wso2中的安全保管库做什么来解决JNDI中的别名?