首页 > 解决方案 > Java Web 应用程序中的 LDAPS 和 LDAP 签名以及基于 LDAP 通道绑定的支持

问题描述

从这篇文章开始https://support.microsoft.com/en-us/help/4520412/2020-ldap-channel-binding-and-ldap-signing-requirement-for-windows

目前,我的 java 8 Web 应用程序通过 LDAP 使用简单的绑定身份验证。我需要使用 LDAP 签名和基于 LDAP 通道绑定的方式将我的 Web 应用程序转换为 LDAPS。我不明白“基于 LDAP 签名和 LDAP 通道绑定”是否是 LDAPS 协议的一部分,以及这些功能是否对客户端有一些影响。

目前使用 jndi 建立了 ldap 连接(本文中使用 JNDI 对 LDAP 进行身份验证:https ://docs.oracle.com/javase/jndi/tutorial/ldap/security/ldap.html )

Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY, 
    "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:389/o=JNDITutorial");

// Authenticate as S. User and password "mysecret"
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=S. User, ou=NewHires, o=JNDITutorial");
env.put(Context.SECURITY_CREDENTIALS, "mysecret");

// Create the initial context
DirContext ctx = new InitialDirContext(env);

...

如何修改代码以支持 LDAPS 和“基于 LDAP 签名和 LDAP 通道绑定”连接?

标签: javaldap

解决方案


推荐阅读