mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-09-23 20:53:46 +08:00
Merge branch 'dev/pkg-upgrade'
# Conflicts: # commands/command.go # commands/daemon/daemon.go # controllers/AccountController.go # controllers/DocumentController.go # models/Member.go # models/TeamMember.go # models/comment_vote.go
This commit is contained in:
@@ -105,6 +105,17 @@ func (m *Member) Login(account string, password string) (*Member, error) {
|
||||
return member, ErrorMemberPasswordError
|
||||
}
|
||||
|
||||
// TmpLogin 用于钉钉临时登录
|
||||
func (m *Member) TmpLogin(account string) (*Member, error) {
|
||||
o := orm.NewOrm()
|
||||
member := &Member{}
|
||||
err := o.Raw("select * from md_members where account = ? and status = 0 limit 1;", account).QueryRow(member)
|
||||
if err != nil {
|
||||
return member, ErrorMemberPasswordError
|
||||
}
|
||||
return member, nil
|
||||
}
|
||||
|
||||
//ldapLogin 通过LDAP登陆
|
||||
func (m *Member) ldapLogin(account string, password string) (*Member, error) {
|
||||
if beego.AppConfig.DefaultBool("ldap_enable", false) == false {
|
||||
@@ -168,27 +179,31 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
|
||||
return nil, ErrMemberAuthMethodInvalid
|
||||
}
|
||||
|
||||
tmpH := md5.New()
|
||||
tmpH.Write([]byte(password))
|
||||
password = strings.ToUpper(hex.EncodeToString(tmpH.Sum(nil)))
|
||||
|
||||
val := url.Values{
|
||||
"account": []string{account},
|
||||
"password": []string{password},
|
||||
"time": []string{strconv.FormatInt(time.Now().Unix(), 10)},
|
||||
}
|
||||
h := md5.New()
|
||||
h.Write([]byte(val.Encode() + beego.AppConfig.DefaultString("http_login_secret","")))
|
||||
h.Write([]byte(val.Encode() + beego.AppConfig.DefaultString("http_login_secret", "")))
|
||||
|
||||
val.Add("sn", hex.EncodeToString(h.Sum(nil)))
|
||||
|
||||
resp, err := http.PostForm(urlStr, val)
|
||||
if err != nil {
|
||||
beego.Error("通过接口登录失败 -> ", urlStr, account, err)
|
||||
return nil, err
|
||||
return nil, ErrHTTPServerFail
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
beego.Error("读取接口返回值失败 -> ", urlStr, account, err)
|
||||
return nil, err
|
||||
return nil, ErrHTTPServerFail
|
||||
}
|
||||
beego.Info("HTTP 登录接口返回数据 ->", string(body))
|
||||
|
||||
@@ -196,7 +211,7 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
|
||||
|
||||
if err := json.Unmarshal(body, &result); err != nil {
|
||||
beego.Error("解析接口返回值失败 -> ", urlStr, account, string(body))
|
||||
return nil, errors.New("解析接口返回值失败")
|
||||
return nil, ErrHTTPServerFail
|
||||
}
|
||||
|
||||
if code, ok := result["errcode"]; !ok || code.(float64) != 200 {
|
||||
@@ -204,7 +219,7 @@ func (m *Member) httpLogin(account, password string) (*Member, error) {
|
||||
if msg, ok := result["message"]; ok {
|
||||
return nil, errors.New(msg.(string))
|
||||
}
|
||||
return nil, errors.New("接口返回值格式不正确")
|
||||
return nil, ErrHTTPServerFail
|
||||
}
|
||||
if m.MemberId <= 0 {
|
||||
member := NewMember()
|
||||
|
Reference in New Issue
Block a user