修改密码
(account, oldPassword, newPassword string)
| 106 | |
| 107 | // 修改密码 |
| 108 | func ModifyPassword(account, oldPassword, newPassword string) error { |
| 109 | l, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", "192.168.3.104", 389)) |
| 110 | if err != nil { |
| 111 | beego.Error("Dial => ", err) |
| 112 | } |
| 113 | defer l.Close() |
| 114 | |
| 115 | user := fmt.Sprintf("cn=%s,dc=minho,dc=com", account) |
| 116 | err = l.Bind(user, oldPassword) |
| 117 | if err != nil { |
| 118 | beego.Error("Bind => ", err) |
| 119 | return err |
| 120 | } |
| 121 | |
| 122 | passwordModifyRequest := ldap.NewPasswordModifyRequest(user, oldPassword, newPassword) |
| 123 | _, err = l.PasswordModify(passwordModifyRequest) |
| 124 | if err != nil { |
| 125 | beego.Error(fmt.Sprintf("Password could not be changed: %s", err.Error())) |
| 126 | return err |
| 127 | } |
| 128 | return nil |
| 129 | } |