C# 如何使用System.DirectoryServices.Protocols更改密码
我们的用户存储是一个名为eDirectory的LDAP服务器。如何使用System.DirectoryServices.Protocols更改用户密码?您需要删除密码,然后重新添加密码。当我这样做时,我使用了Novell的LDAP库。您可能需要使用DirectoryEntry才能使其正常工作C# 如何使用System.DirectoryServices.Protocols更改密码,c#,.net,ldap,directoryservices,edirectory,C#,.net,Ldap,Directoryservices,Edirectory,我们的用户存储是一个名为eDirectory的LDAP服务器。如何使用System.DirectoryServices.Protocols更改用户密码?您需要删除密码,然后重新添加密码。当我这样做时,我使用了Novell的LDAP库。您可能需要使用DirectoryEntry才能使其正常工作 根据您在eDirectory中使用的密码类型,您可能会遇到问题 这是一个ldif样本 dn: cn=<myuser>,ou=<myou>,o=<myo> cha
根据您在eDirectory中使用的密码类型,您可能会遇到问题
这是一个ldif样本
dn: cn=<myuser>,ou=<myou>,o=<myo>
changetype: modify
replace: userPassword
userPassword: <newPassWord>
dn:cn=,ou=,o=
变更类型:修改
替换:userPassword
用户密码:
您需要删除密码,然后重新添加。当我这样做时,我使用了Novell的LDAP库。您可能需要使用DirectoryEntry才能使其正常工作
根据您在eDirectory中使用的密码类型,您可能会遇到问题
这是一个ldif样本
dn: cn=<myuser>,ou=<myou>,o=<myo>
changetype: modify
replace: userPassword
userPassword: <newPassWord>
dn:cn=,ou=,o=
变更类型:修改
替换:userPassword
用户密码:
我使用类似的代码连接到基于Sun One的LDAP以更改用户密码。(应该和Novell eDirectory没什么不同…)
我使用类似的代码连接到基于Sun One的LDAP以更改用户密码。(应该和Novell eDirectory没什么不同…)
我同意佩尔·诺尔特和马修·怀特德两人的做法。但有一个重要的微妙之处 用户密码更改和管理密码更改之间存在差异 如果替换userPassword,这是管理员密码更改,并且根据密码策略,密码可能会立即过期。(eDir使用密码到期,然后计算宽限登录次数)
如果您提供旧密码和新密码,则您正在执行用户启动的密码重置。我同意Per Noalt和Matthew Whited两种方法。但有一个重要的微妙之处 用户密码更改和管理密码更改之间存在差异 如果替换userPassword,这是管理员密码更改,并且根据密码策略,密码可能会立即过期。(eDir使用密码到期,然后计算宽限登录次数)
如果您提供旧密码和新密码,则您正在执行用户启动的密码重置。本书中有一个使用System.DirectoryServices.Protocols更改用户密码和管理密码的代码示例。我假设出于版权原因,我无法将代码示例粘贴到此处,但如果您对System.DirectoryServices.Protocols和System.DirectoryServices感兴趣,我建议您购买这本书。中有一个使用System.DirectoryServices.Protocols更改用户密码和管理密码的代码示例这本书。我假设出于版权原因,我无法将代码示例粘贴到此处,但如果您对System.DirectoryServices.Protocols和System.DirectoryServices感兴趣,我建议您购买这本书。Novell的c#library不支持SSL。所以,我不能真正使用它。我想我必须使用S.DS.PI,因为目前没有运行LDAP服务器(更不用说eDirectory了),所以我无法提供更多的帮助。但我希望这至少能让你明白,Novell的c#library不支持SSL。所以,我不能真正使用它。我想我必须使用S.DS.PI,因为目前没有运行LDAP服务器(更不用说eDirectory了),所以我无法提供更多的帮助。但我希望这至少能让你进入球场。所以,我很好奇,我的回答有帮助吗?你和Novell eDirectory合作了吗?我很好奇,我的回答有用吗?你是否使用Novell目录?如果使用.NET 3.5或更高版本,你可能会考虑这个答案:如果使用.NET 3.5或更高版本,你可能会考虑这个答案: