登录
首页 >  Golang >  Go问答

LDAP协议错误:未知的扩展请求OID

来源:stackoverflow

时间:2024-02-08 10:09:16 388浏览 收藏

一分耕耘,一分收获!既然都打开这篇《LDAP协议错误:未知的扩展请求OID》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

这里有什么问题吗?我提供旧密码和新密码。但在更改密码时不知何故遇到此问题。

  • 我正在使用 ldap v3 根据请求,我使用带有 oldpassword、newpassword 和 userdn 作为domainlogin 的passwordmodifyrequest。 不知何故总是遇到这个问题。我的代码是否有问题,或者 ad 上应该进行一些特定设置以便我的方法可以工作?

    baseDN := "dc=" + strings.Replace(ldap.Domain, ".", ",dc=", -1)
      pass := ldap2.PasswordModifyRequest{
          UserIdentity: baseDN ,
          OldPassword:  OldPassword,
          NewPassword:  NewPassword,
      }
    
      // Send the ModifyRequest to the server
      res, err := li.Conn.PasswordModify(&pass)
      if err != nil {
          fmt.Printf("Error changing the password: %s\n", err)
          return err
      }

正确答案


找到了解决方案。我决定使用修改而不是修改密码。问题本身与服务器属性和 ad 版本有关。就我而言,我提供了更具体的 dn 属性和控件以使用修改。

controlTypes, err := getSupportedControl(li.Conn)
if err != nil {
   return err
}
        
control := []ldap2.Control{}
  for _, oid := range controlTypes {
     if oid == controlTypeLdapServerPolicyHints || oid == controlTypeLdapServerPolicyHintsDeprecated {
     control = append(control, &ldapControlServerPolicyHints{oid: oid})
       break
     }
}

err = li.Conn.Modify(passReqA)
if err != nil {
  return err
}

本篇关于《LDAP协议错误:未知的扩展请求OID》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>