modify login
This commit is contained in:
parent
4eb071c302
commit
fb5aed6211
@ -1,11 +1,11 @@
|
|||||||
package common
|
package common
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"github.com/garyburd/redigo/redis"
|
|
||||||
"log"
|
"log"
|
||||||
"regexp"
|
"regexp"
|
||||||
"ssh_manage/database"
|
"ssh_manage/database"
|
||||||
|
"ssh_manage/model"
|
||||||
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -16,16 +16,28 @@ type verifyImpl interface {
|
|||||||
func Verify(v verifyImpl) (is_verify bool) {
|
func Verify(v verifyImpl) (is_verify bool) {
|
||||||
phone, code := v.Verify()
|
phone, code := v.Verify()
|
||||||
cache := database.Cache.Get()
|
cache := database.Cache.Get()
|
||||||
|
db := database.Get()
|
||||||
|
defer db.Close()
|
||||||
defer cache.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 {
|
if err != nil {
|
||||||
log.Println("Verify Err:", err.Error())
|
log.Println("Verify Err:", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if code != s_code {
|
if code == user.Password {
|
||||||
log.Println(fmt.Sprintf("手机号:%s -- 验证码:%s 校验失败", phone, code))
|
return true
|
||||||
|
} else if user.Password == "" {
|
||||||
|
return true
|
||||||
|
} else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
//if code != s_code {
|
||||||
|
// log.Println(fmt.Sprintf("手机号:%s -- 验证码:%s 校验失败", phone, code))
|
||||||
|
// return true
|
||||||
|
//}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
14
config.toml
14
config.toml
@ -4,17 +4,17 @@ model = "release" #debug release test
|
|||||||
port = "0.0.0.0:8082" #服务要运行的端口
|
port = "0.0.0.0:8082" #服务要运行的端口
|
||||||
|
|
||||||
[Database]
|
[Database]
|
||||||
host = "127.0.0.1"
|
host = "cdb-0qcrt7qc.cd.tencentcdb.com"
|
||||||
port = 3306
|
port = 10109
|
||||||
username = "root" #数据库账号
|
username = "ssh" #数据库账号
|
||||||
password = "root" #数据库密码
|
password = "ssh@root" #数据库密码
|
||||||
dbname = "ssh" #数据库名
|
dbname = "ssh" #数据库名
|
||||||
poolsize = 10 #Mysql连接池大小
|
poolsize = 10 #Mysql连接池大小
|
||||||
|
|
||||||
[Redis]
|
[Redis]
|
||||||
host = "127.0.0.1"
|
host = "db.timemail.email"
|
||||||
port = 6379
|
port = 6379
|
||||||
password = "" #没有则不填
|
password = "timemail.email" #没有则不填
|
||||||
poolsize = 10 #Redis连接池大小
|
poolsize = 10 #Redis连接池大小
|
||||||
|
|
||||||
[Alisms] #阿里云短信配置
|
[Alisms] #阿里云短信配置
|
||||||
@ -24,4 +24,4 @@ signname = "-" #短信签名
|
|||||||
template = "-" #模板代码
|
template = "-" #模板代码
|
||||||
|
|
||||||
[Jwt]
|
[Jwt]
|
||||||
key = "ss_jwt_token"
|
key = "rainerosion"
|
||||||
@ -16,14 +16,14 @@ func Login(c *gin.Context) {
|
|||||||
//c.JSON(200, gin.H{"token": token})
|
//c.JSON(200, gin.H{"token": token})
|
||||||
var resp Apiform.Resp
|
var resp Apiform.Resp
|
||||||
resp.Code = errcode.C_from_err
|
resp.Code = errcode.C_from_err
|
||||||
resp.Msg = "手机号和验证码不能为空!"
|
resp.Msg = "手机号和密码不能为空!"
|
||||||
var user Apiform.Login
|
var user Apiform.Login
|
||||||
if c.ShouldBind(&user) == nil {
|
if c.ShouldBind(&user) == nil {
|
||||||
if common.Verify(&user) {
|
if common.Verify(&user) {
|
||||||
var userinfo model.User
|
var userinfo model.User
|
||||||
db := database.Get()
|
db := database.Get()
|
||||||
defer db.Close()
|
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)
|
newToken, err := common.ReleaseToken(userinfo.ID)
|
||||||
if err == nil && userinfo.ID > 0 {
|
if err == nil && userinfo.ID > 0 {
|
||||||
resp.Code = errcode.C_nil_err
|
resp.Code = errcode.C_nil_err
|
||||||
@ -36,7 +36,7 @@ func Login(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
resp.Code = errcode.S_Verify_err
|
resp.Code = errcode.S_Verify_err
|
||||||
resp.Msg = "验证码校验失败"
|
resp.Msg = "密码错误"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//log.Printf(c.ClientIP())
|
//log.Printf(c.ClientIP())
|
||||||
|
|||||||
@ -4,5 +4,6 @@ type User struct {
|
|||||||
Model
|
Model
|
||||||
Phone int `gorm:"not null;unique;type:bigint"`
|
Phone int `gorm:"not null;unique;type:bigint"`
|
||||||
Email *string `gorm:"unique"`
|
Email *string `gorm:"unique"`
|
||||||
|
Password string
|
||||||
Servers []Server `gorm:"ForeignKey:BindUser"`
|
Servers []Server `gorm:"ForeignKey:BindUser"`
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,10 +20,7 @@
|
|||||||
|
|
||||||
<div class="mx-auto max-w-xs">
|
<div class="mx-auto max-w-xs">
|
||||||
<input id="phone" class="w-full px-8 py-4 rounded-lg font-medium bg-gray-100 border border-gray-200 placeholder-gray-500 text-sm focus:outline-none focus:border-gray-400 focus:bg-white" type="number" placeholder="手机号" />
|
<input id="phone" class="w-full px-8 py-4 rounded-lg font-medium bg-gray-100 border border-gray-200 placeholder-gray-500 text-sm focus:outline-none focus:border-gray-400 focus:bg-white" type="number" placeholder="手机号" />
|
||||||
<div>
|
<input id="code" class="w-full px-8 py-4 rounded-lg font-medium bg-gray-100 border border-gray-200 placeholder-gray-500 text-sm focus:outline-none focus:border-gray-400 focus:bg-white" type="password" placeholder="密码" />
|
||||||
<input id="code" style="width: 11.7rem;margin-right: 1.3rem" class="w-7/12 px-8 py-4 rounded-lg font-medium bg-gray-100 border border-gray-200 placeholder-gray-500 text-sm focus:outline-none focus:border-gray-400 focus:bg-white mt-5" type="number" placeholder="验证码" />
|
|
||||||
<button onclick="send()" id="send" style="width: 6.2rem;" class="mt-5 tracking-wide font-semibold bg-gray-700 text-gray-100 w-4/12 py-4 rounded-lg hover:bg-gray-500 ease-in-out items-center justify-center focus:shadow-outline focus:outline-none">发送</button>
|
|
||||||
</div>
|
|
||||||
<button onclick="login()" class="mt-5 tracking-wide font-semibold bg-indigo-500 text-gray-100 w-full py-4 rounded-lg hover:bg-indigo-700 ease-in-out flex items-center justify-center focus:shadow-outline focus:outline-none">
|
<button onclick="login()" class="mt-5 tracking-wide font-semibold bg-indigo-500 text-gray-100 w-full py-4 rounded-lg hover:bg-indigo-700 ease-in-out flex items-center justify-center focus:shadow-outline focus:outline-none">
|
||||||
<span class="ml-3">登 录</span>
|
<span class="ml-3">登 录</span>
|
||||||
</button>
|
</button>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user