Ver Fonte

gtoken整合完成,添加字符串加密功能

yxh há 6 anos atrás
pai
commit
6a1be2924e

+ 1 - 1
app/service/user_service/qxkj_user.go

@@ -7,7 +7,7 @@ import (
 	"github.com/gogf/gf/net/ghttp"
 	"github.com/gogf/gf/net/ghttp"
 )
 )
 
 
-// 用户登录,成功返回用户信息,否则返回nil; passport应当会md5值字符串
+// 用户登录,成功返回用户信息,否则返回nil
 func SignIn(username, password string, session *ghttp.Session) (error, *qxkj_user.QxkjUser) {
 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()
 	qxkjUser, err := qxkj_user.Model.Where("user_name=? and user_password=?", username, password).One()
 	if err != nil && err != sql.ErrNoRows {
 	if err != nil && err != sql.ErrNoRows {

+ 23 - 4
library/utils/function.go

@@ -42,21 +42,24 @@ func GetVerifyImg() (idKeyC string, base64stringC string) {
 //AdminLogin 后台用户登陆验证
 //AdminLogin 后台用户登陆验证
 func AdminLogin(r *ghttp.Request) (string, interface{}) {
 func AdminLogin(r *ghttp.Request) (string, interface{}) {
 	data := r.GetPostMapStrStr()
 	data := r.GetPostMapStrStr()
-	//判断验证码是否正确
-	/*if !base64Captcha.VerifyCaptchaAndIsClear(data["idKeyC"], data["idValueC"], true) {
-		response.JsonExit(r, response.ErrorCode, "验证码输入错误")
-	}*/
 	rules := map[string]string{
 	rules := map[string]string{
+		"idValueC": "required",
 		"username": "required",
 		"username": "required",
 		"password": "required",
 		"password": "required",
 	}
 	}
 	msgs := map[string]interface{}{
 	msgs := map[string]interface{}{
+		"idValueC": "请输入验证码",
 		"username": "账号不能为空",
 		"username": "账号不能为空",
 		"password": "密码不能为空",
 		"password": "密码不能为空",
 	}
 	}
 	if e := gvalid.CheckMap(data, rules, msgs); e != nil {
 	if e := gvalid.CheckMap(data, rules, msgs); e != nil {
 		response.JsonExit(r, response.ErrorCode, e.String())
 		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 {
 	if err, user := user_service.SignIn(data["username"], EncryptCBC(data["password"]), r.Session); err != nil {
 		response.JsonExit(r, response.NotAcceptableCode, err.Error())
 		response.JsonExit(r, response.NotAcceptableCode, err.Error())
 	} else {
 	} else {
@@ -80,3 +83,19 @@ func EncryptCBC(plainText string) string {
 	}
 	}
 	return gbase64.EncodeToString(b)
 	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)
+}

+ 3 - 2
router/router.go

@@ -12,6 +12,7 @@ func init() {
 	s.BindMiddleware("/sysLogin/logout", MiddlewareCORS)
 	s.BindMiddleware("/sysLogin/logout", MiddlewareCORS)
 	group := s.Group("/")
 	group := s.Group("/")
 	group.Middleware(MiddlewareCORS)
 	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))
 }
 }

+ 2 - 0
test/demo_test.go

@@ -30,6 +30,8 @@ func CbcEncrypt(t *testing.T) {
 		panic(e)
 		panic(e)
 	}
 	}
 	fmt.Println(gbase64.EncodeToString(b))
 	fmt.Println(gbase64.EncodeToString(b))
+	b, _ = gaes.DecryptCBC(b, []byte("HqmP1KLMuz09Q0Bu"), []byte("HqmP1KLMuz09Q0Bu"))
+	fmt.Println(string(b))
 }
 }
 
 
 func Demo1(t *testing.T) {
 func Demo1(t *testing.T) {