84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
ringa_lee
这个问题终于解决了···1,因为修改密码需要使用ldaps协议,所以首先需要搭建一个ldap的认证服务器(需要配置域名,因为使用ip有可能connect不上),具体配置步骤可以给我留言,我将免费提供。2,修改密码的代码如下:
# 修改密码时,不需要老密码的方式 def ldap_update_pass(old_pass, new_pass): ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER) my_ldap = ldap.initialize('ldaps://adc.xxx.com:636') # ldaps://adc.xxx.com:636就是你配置的ldaps认证服务器 my_ldap.set_option(ldap.OPT_REFERRALS, 0) my_ldap.set_option(ldap.OPT_PROTOCOL_VERSION, 3) my_ldap.set_option(ldap.OPT_X_TLS, ldap.OPT_X_TLS_DEMAND) my_ldap.set_option(ldap.OPT_X_TLS_DEMAND, True) my_ldap.set_option(ldap.OPT_DEBUG_LEVEL, 255) try: dn = get_dn(3) # 这里获取用户的dn,因为重点是修改密码,所以get_dn()方法细节就不展示出来了 my_ldap.simple_bind_s(dn, old_pass) unicode_pass = unicode("\"" + str(new_pass) + "\"", "iso-8859-1") password_value = unicode_pass.encode("utf-16-le") add_pass = [(ldap.MOD_REPLACE, 'unicodePwd', [password_value])] my_ldap.modify_s(dn, add_pass) return True except Exception, e: pass finally: my_ldap.unbind_s() del my_ldap return False
这个问题终于解决了···
1,因为修改密码需要使用ldaps协议,所以首先需要搭建一个ldap的认证服务器(需要配置域名,因为使用ip有可能connect不上),具体配置步骤可以给我留言,我将免费提供。
2,修改密码的代码如下: