Skip to content

Commit

Permalink
feat: 添加是否需要校验验证码的功能。
Browse files Browse the repository at this point in the history
feat: 添加是否需要校验验证码的功能。
  • Loading branch information
lanyulei authored Jan 8, 2022
2 parents 9ab37a3 + 808c640 commit 7402c13
Show file tree
Hide file tree
Showing 5 changed files with 58 additions and 69 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ QQ群 3:767524537

[兰玉磊的技术博客](https://www.fdevops.com/)

###个人微信,添加好友请描述地区、公司及名字,例如:北京-国美-xxx。
### 个人微信,添加好友请描述地区、公司及名字,例如:北京-国美-xxx。

微信号:fdevops

Expand Down
61 changes: 0 additions & 61 deletions docker-compose.yml

This file was deleted.

22 changes: 16 additions & 6 deletions handler/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import (
jwt "ferry/pkg/jwtauth"
ldap1 "ferry/pkg/ldap"
"ferry/pkg/logger"
"ferry/pkg/settings"
"ferry/tools"
"fmt"
"net/http"
Expand Down Expand Up @@ -66,6 +67,7 @@ func Authenticator(c *gin.Context) (interface{}, error) {
authUserCount int
addUserInfo system.SysUser
ldapUserInfo *ldap.Entry
isVerifyCode interface{}
)

ua := user_agent.New(c.Request.UserAgent())
Expand All @@ -91,12 +93,20 @@ func Authenticator(c *gin.Context) (interface{}, error) {
}
loginLog.Username = loginVal.Username

// 校验验证码
if !store.Verify(loginVal.UUID, loginVal.Code, true) {
loginLog.Status = "1"
loginLog.Msg = "验证码错误"
_, _ = loginLog.Create()
return nil, jwt.ErrInvalidVerificationode
// 查询设置 is_verify_code
isVerifyCode, err = settings.GetContentByKey(1, "is_verify_code")
if err != nil {
return nil, errors.New("获取是否需要验证码校验失败")
}

if isVerifyCode.(bool) {
// 校验验证码
if !store.Verify(loginVal.UUID, loginVal.Code, true) {
loginLog.Status = "1"
loginLog.Msg = "验证码错误"
_, _ = loginLog.Create()
return nil, jwt.ErrInvalidVerificationode
}
}

// ldap 验证
Expand Down
2 changes: 1 addition & 1 deletion models/system/login.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
type Login struct {
Username string `form:"UserName" json:"username" binding:"required"`
Password string `form:"Password" json:"password" binding:"required"`
Code string `form:"Code" json:"code" binding:"required"`
Code string `form:"Code" json:"code"`
UUID string `form:"UUID" json:"uuid" binding:"required"`
LoginType int `form:"LoginType" json:"loginType"`
}
Expand Down
40 changes: 40 additions & 0 deletions pkg/settings/get_content.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package settings

import (
"encoding/json"
"ferry/global/orm"
"ferry/models/system"
)

func GetContent(classify int) (content map[string]interface{}, err error) {
var (
settings system.Settings
)

err = orm.Eloquent.Where("classify = ?", classify).Find(&settings).Error
if err != nil {
return
}

err = json.Unmarshal(settings.Content, &content)
if err != nil {
return
}

return
}

func GetContentByKey(classify int, key string) (value interface{}, err error) {
var (
content map[string]interface{}
)

content, err = GetContent(classify)
if err != nil {
return
}

value = content[key]

return
}

0 comments on commit 7402c13

Please sign in to comment.