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:
LawyZHENG
2021-03-23 19:28:22 +08:00
20 changed files with 512 additions and 38 deletions

View File

@@ -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()