代码之家  ›  专栏  ›  技术社区  ›  Christopher Klewes

是否有一种更整洁的方法来分析错误代码的authenticationException?

  •  5
  • Christopher Klewes  · 技术社区  · 14 年前

    有更整洁的方法检查 javax.naming.AuthenticationException (或弹簧)主要故障原因?不同的误差都在 LDAP Wiki (Binding Errors) .

    authenticationException提供的API不足,无法轻松确定错误代码。唯一的内容是异常消息。

    [LDAP: error code 49 - 80090308: 
     LdapErr: DSID-0C090334, 
     comment: AcceptSecurityContext error, data 773, vece]
    

    标识块是代表错误的“数据773”。 ERROR_PASSWORD_MUST_CHANGE . 但是我觉得很奇怪 message.contains("data 773") !有没有更好的方法来检查错误代码?


    抛出 AuthenticationException 是用 org.springframework.security.ldap.DefaultSpringSecurityContextSource .

    InitialLdapContext context = (InitialLdapContext) contextFactory
                         .getReadWriteContext(principal, password);
    
    2 回复  |  直到 14 年前
        1
  •  5
  •   Paul Jowett    14 年前

    不幸的是,这是我看到它处理的唯一方式,因为我有经验的LDAP服务(Active Directory)生成的故障代码总是对消息中的故障代码进行编码。即使这不是一个很好的方法,也不要觉得太糟糕。

        2
  •  1
  •   Kurt Du Bois    14 年前

    据我所知,没有更好的实现。您可以尝试为外部文件中的LDAP错误代码提供完整的翻译,并使用它们进行翻译。