首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.naming.ServiceUnavailableException:套接字关闭

javax.naming.ServiceUnavailableException:套接字关闭
EN

Stack Overflow用户
提问于 2019-08-20 08:37:38
回答 3查看 9.2K关注 0票数 2

我试图通过LDAP授权用户。

代码语言:javascript
复制
public Authentication authenticate(Authentication auth) throws AuthenticationException {
        String username = getUserNameFromAuth(auth);
        String password = auth.getCredentials().toString();
        HelpDescUser userDetails = (HelpDescUser) userDetailsService.loadUserByUsername(username);
        String email = userDetails.getEmail();
        String url = "ldap://" + ldapHost + ":" + port + "/";
        ActiveDirectoryLdapAuthenticationProvider ldapProvider =
                    new ActiveDirectoryLdapAuthenticationProvider(null, url, rootDn);
        ldapProvider.setSearchFilter(filter);
        Authentication authenticate = ldapProvider.authenticate(new UsernamePasswordAuthenticationToken(email, password));
        if (authenticate.isAuthenticated()) {
            return new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities());
        }
}

我收到这封信:

引起: javax.naming.ServiceUnavailableException: okmarket.ru:636;套接字关闭于java.naming/com.sun.jndi.ldap.Connection.readReply(Connection.java:426) at java.naming/com.sun.jndi.ldap.LdapClient.ldapBind(LdapClient.java:365) at java.naming/com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:214) at java.naming/com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2795) at java.name/com.sun.jndi.ldapjava.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192) at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210) at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153) at java.naming/com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83) at java.naming/javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:730) at java.naming/javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) at java.naming/javax.naming.InitialContext.init(InitialContext.java:236) at java.naming/javax.naming.ldap.InitialLdapContext.(InitialLdapContext.java:154)

怎么搞错了?是我这边的问题,还是LDAP方面的问题?

EN

回答 3

Stack Overflow用户

发布于 2019-08-21 08:10:40

别担心,我只是试着连接ldap://和端口636。正确的方法是发出ldaps://请求或设置端口389

票数 3
EN

Stack Overflow用户

发布于 2019-08-20 09:35:43

检查服务器details.Are,您可以切换到服务器。

票数 0
EN

Stack Overflow用户

发布于 2019-08-20 09:44:11

检查LDAP是否已启动。看起来LDAP已经关闭了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57569714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档