diff --git a/app/service/user_service/qxkj_user.go b/app/service/user_service/qxkj_user.go index b2dcedf..2d0727f 100644 --- a/app/service/user_service/qxkj_user.go +++ b/app/service/user_service/qxkj_user.go @@ -7,7 +7,7 @@ import ( "github.com/gogf/gf/net/ghttp" ) -// 用户登录,成功返回用户信息,否则返回nil; passport应当会md5值字符串 +// 用户登录,成功返回用户信息,否则返回nil func SignIn(username, password string, session *ghttp.Session) (error, *qxkj_user.QxkjUser) { qxkjUser, err := qxkj_user.Model.Where("user_name=? and user_password=?", username, password).One() if err != nil && err != sql.ErrNoRows { diff --git a/library/utils/function.go b/library/utils/function.go index 3968495..c5d77bd 100644 --- a/library/utils/function.go +++ b/library/utils/function.go @@ -42,21 +42,24 @@ func GetVerifyImg() (idKeyC string, base64stringC string) { //AdminLogin 后台用户登陆验证 func AdminLogin(r *ghttp.Request) (string, interface{}) { data := r.GetPostMapStrStr() - //判断验证码是否正确 - /*if !base64Captcha.VerifyCaptchaAndIsClear(data["idKeyC"], data["idValueC"], true) { - response.JsonExit(r, response.ErrorCode, "验证码输入错误") - }*/ rules := map[string]string{ + "idValueC": "required", "username": "required", "password": "required", } msgs := map[string]interface{}{ + "idValueC": "请输入验证码", "username": "账号不能为空", "password": "密码不能为空", } if e := gvalid.CheckMap(data, rules, msgs); e != nil { response.JsonExit(r, response.ErrorCode, e.String()) } + //判断验证码是否正确 + if !base64Captcha.VerifyCaptchaAndIsClear(data["idKeyC"], data["idValueC"], true) { + response.JsonExit(r, response.ErrorCode, "验证码输入错误") + } + if err, user := user_service.SignIn(data["username"], EncryptCBC(data["password"]), r.Session); err != nil { response.JsonExit(r, response.NotAcceptableCode, err.Error()) } else { @@ -80,3 +83,19 @@ func EncryptCBC(plainText string) string { } return gbase64.EncodeToString(b) } + +//字符串解密 +func DecryptCBC(plainText string) string { + key := []byte(AESPublicKey) + plainTextByte, e := gbase64.DecodeString(plainText) + if e != nil { + glog.Error(e.Error()) + return "" + } + b, e := gaes.DecryptCBC(plainTextByte, key, key) + if e != nil { + glog.Error(e.Error()) + return "" + } + return gbase64.EncodeToString(b) +} diff --git a/router/router.go b/router/router.go index 6188c3a..8c043dd 100644 --- a/router/router.go +++ b/router/router.go @@ -12,6 +12,7 @@ func init() { s.BindMiddleware("/sysLogin/logout", MiddlewareCORS) group := s.Group("/") group.Middleware(MiddlewareCORS) - systemGroup := group.Group("/system") - systemGroup.ALL("/public", new(admin.Public)) + //systemGroup := group.Group("/system") + sysLoginGroup := group.Group("/sysLogin") + sysLoginGroup.ALL("/public", new(admin.Public)) } diff --git a/test/demo_test.go b/test/demo_test.go index 371091e..452125b 100644 --- a/test/demo_test.go +++ b/test/demo_test.go @@ -30,6 +30,8 @@ func CbcEncrypt(t *testing.T) { panic(e) } fmt.Println(gbase64.EncodeToString(b)) + b, _ = gaes.DecryptCBC(b, []byte("HqmP1KLMuz09Q0Bu"), []byte("HqmP1KLMuz09Q0Bu")) + fmt.Println(string(b)) } func Demo1(t *testing.T) {