| 69 | } |
| 70 | |
| 71 | func AddMember(account, password string) error { |
| 72 | lc, err := ldap.Dial("tcp", fmt.Sprintf("%s:%d", "192.168.3.104", 389)) |
| 73 | if err != nil { |
| 74 | beego.Error("Dial => ", err) |
| 75 | return err |
| 76 | } |
| 77 | |
| 78 | defer lc.Close() |
| 79 | user := fmt.Sprintf("cn=%s,dc=minho,dc=com", account) |
| 80 | |
| 81 | member := ldap.NewAddRequest(user) |
| 82 | |
| 83 | member.Attribute("mail", []string{"longfei6671@163.com"}) |
| 84 | |
| 85 | err = lc.Add(member) |
| 86 | |
| 87 | if err == nil { |
| 88 | |
| 89 | err = lc.Bind(user, "") |
| 90 | if err != nil { |
| 91 | beego.Error("Bind => ", err) |
| 92 | return err |
| 93 | } |
| 94 | passwordModifyRequest := ldap.NewPasswordModifyRequest(user, "", "1q2w3e__ABC") |
| 95 | _, err = lc.PasswordModify(passwordModifyRequest) |
| 96 | |
| 97 | if err != nil { |
| 98 | beego.Error("PasswordModify => ", err) |
| 99 | return err |
| 100 | } |
| 101 | return nil |
| 102 | } |
| 103 | beego.Error("Add => ", err) |
| 104 | return err |
| 105 | } |
| 106 | |
| 107 | // 修改密码 |
| 108 | func ModifyPassword(account, oldPassword, newPassword string) error { |