From fb5aed621129aca0f3152fce80673621c9065f09 Mon Sep 17 00:00:00 2001 From: luming Date: Mon, 18 Oct 2021 20:59:21 +0800 Subject: [PATCH] modify login --- common/verify.go | 22 +++++++++++++++++----- config.toml | 14 +++++++------- controller/login.go | 6 +++--- model/User.go | 1 + view/index.html | 5 +---- 5 files changed, 29 insertions(+), 19 deletions(-) diff --git a/common/verify.go b/common/verify.go index f7d0357..5d68691 100644 --- a/common/verify.go +++ b/common/verify.go @@ -1,11 +1,11 @@ package common import ( - "fmt" - "github.com/garyburd/redigo/redis" "log" "regexp" "ssh_manage/database" + "ssh_manage/model" + "strconv" "strings" ) @@ -16,16 +16,28 @@ type verifyImpl interface { func Verify(v verifyImpl) (is_verify bool) { phone, code := v.Verify() cache := database.Cache.Get() + db := database.Get() + defer db.Close() defer cache.Close() - s_code, err := redis.String(cache.Do("GET", phone)) + var user model.User + phoneNumber, err := strconv.Atoi(phone) + db.DB.Where(model.User{Phone: phoneNumber}).Find(&user) + //s_code, err := redis.String(cache.Do("GET", phone)) if err != nil { log.Println("Verify Err:", err.Error()) return } - if code != s_code { - log.Println(fmt.Sprintf("手机号:%s -- 验证码:%s 校验失败", phone, code)) + if code == user.Password { + return true + } else if user.Password == "" { + return true + } else { return } + //if code != s_code { + // log.Println(fmt.Sprintf("手机号:%s -- 验证码:%s 校验失败", phone, code)) + // return true + //} return true } diff --git a/config.toml b/config.toml index 39a09bc..e2baa53 100644 --- a/config.toml +++ b/config.toml @@ -4,17 +4,17 @@ model = "release" #debug release test port = "0.0.0.0:8082" #服务要运行的端口 [Database] -host = "127.0.0.1" -port = 3306 -username = "root" #数据库账号 -password = "root" #数据库密码 +host = "cdb-0qcrt7qc.cd.tencentcdb.com" +port = 10109 +username = "ssh" #数据库账号 +password = "ssh@root" #数据库密码 dbname = "ssh" #数据库名 poolsize = 10 #Mysql连接池大小 [Redis] -host = "127.0.0.1" +host = "db.timemail.email" port = 6379 -password = "" #没有则不填 +password = "timemail.email" #没有则不填 poolsize = 10 #Redis连接池大小 [Alisms] #阿里云短信配置 @@ -24,4 +24,4 @@ signname = "-" #短信签名 template = "-" #模板代码 [Jwt] -key = "ss_jwt_token" \ No newline at end of file +key = "rainerosion" \ No newline at end of file diff --git a/controller/login.go b/controller/login.go index a4edb5d..9856997 100644 --- a/controller/login.go +++ b/controller/login.go @@ -16,14 +16,14 @@ func Login(c *gin.Context) { //c.JSON(200, gin.H{"token": token}) var resp Apiform.Resp resp.Code = errcode.C_from_err - resp.Msg = "手机号和验证码不能为空!" + resp.Msg = "手机号和密码不能为空!" var user Apiform.Login if c.ShouldBind(&user) == nil { if common.Verify(&user) { var userinfo model.User db := database.Get() defer db.Close() - db.DB.Where(model.User{Phone: user.Phone}).FirstOrCreate(&userinfo) + db.DB.Where(model.User{Phone: user.Phone,Password: user.Code}).FirstOrCreate(&userinfo) newToken, err := common.ReleaseToken(userinfo.ID) if err == nil && userinfo.ID > 0 { resp.Code = errcode.C_nil_err @@ -36,7 +36,7 @@ func Login(c *gin.Context) { } } else { resp.Code = errcode.S_Verify_err - resp.Msg = "验证码校验失败" + resp.Msg = "密码错误" } } //log.Printf(c.ClientIP()) diff --git a/model/User.go b/model/User.go index ae8b35f..0103821 100644 --- a/model/User.go +++ b/model/User.go @@ -4,5 +4,6 @@ type User struct { Model Phone int `gorm:"not null;unique;type:bigint"` Email *string `gorm:"unique"` + Password string Servers []Server `gorm:"ForeignKey:BindUser"` } diff --git a/view/index.html b/view/index.html index e1cf386..33157e0 100644 --- a/view/index.html +++ b/view/index.html @@ -20,10 +20,7 @@
-
- - -
+