在 Talend Administration Center 中通过 LDAP 管理 SVN 或 Git 密码的加密
如果您在 Talend Administration Center 中使用 LDAP 身份验证,可能想要加密其中存储的 SVN 或 Git 密码。加密密码之后,您需要编译一个 Java 类,以允许您在 Talend Administration Center 中管理密码加密。
从 7.3.1 R2021-08 版本开始,Apache Subversion 已被弃用。开始之前
- 如果以前使用所选的工具库对密码进行了加密,则对您的密码进行加密和解密时,都需要使用此工具库。
- 停止包含 Talend Administration Center 的 Tomcat 服务器。
步骤
-
基于如下代码,创建一个名为 DecryptLdapPassword.java 的类文件:
import org.talend.administrator.common.crypto.LDAPCrypto; /** * */ public class DecryptLdapPassword implements LDAPCrypto { @Override public String decrypt(String encryptedPassword) throws Exception { String decryptedPassword = null; // // instructions to decrypt password // return decryptedPassword; } }
-
如果正在使用 IDE:
- 将 Talend Administration Center 应用程序的 <TalendAdministrationCenterPath>/WEB-INF/classes 文件夹添加到您的工程的类路径中。
- 将您的算法工具库添加到类路径中。
- 插入有关如何对 LDAP 中存储的 SVN 或 Git 密码进行解密的必要说明。
如果当前没有使用 IDE:
-
执行如下命令,以编译用于解密工具库的 .jar 以及所选目录中的 Java 类:
在 UNIX 系统上:
cd <directoryOfMyJavaClass_DecryptLdapPassword> javac -classpath .:/org.talend.administrator-6.0.1-SNAPSHOT/WEB-INF/classes/:<myDirectory>/encryptionAlgorithm.jar DecryptLdapPassword.java
在 Windows 系统上:
cd directoryOfMyJavaClass_DecryptLdapPassword javac -classpath .;c:\org.talend.administrator-6.0.1-SNAPSHOT\WEB-INF\classes\;c:\my\directory\encryptionAlgorithm.jar DecryptLdapPassword.java
- 获取已编译的类 DecryptLdapPassword.class,并将其复制到如下目录:<TalendAdministrationCenterPath>/WEB-INF/classes
- 打开 <TalendAdministrationCenterPath>/WEB-INF/classes/configuration.properties 文件,取消注释 ldap.decryption.class= 行,并输入您编译的类作为此属性的值。
- 将用于加密算法的 .jar 文件复制到如下文件夹中:<TalendAdministrationCenterPath>/WEB-INF/lib
- 重新启动 Tomcat 服务器。