Эх сурвалжийг харах

fix:匿名身份避免同时多请求修改

duxin 1 жил өмнө
parent
commit
e4d9dcf027

+ 3 - 0
src/jfw/filter/anonymousUser.go

@@ -101,6 +101,9 @@ func (sk *AnonymousAuth) Do() {
 	if jyTrustedId == nil || jyTrustedId.Value == "" { //不存在信用标识
 		jyGuestUID, _ := sk.R.Cookie("JYGuestUID")
 		if jyGuestUID == nil || jyGuestUID.Value == "" { //不存在后端id 生成后端id 并创建匿名身份信息
+			if sk.R.Method != "GET" { //避免多请求
+				return
+			}
 			guestUID := node.Generate()
 			cookie := &http.Cookie{
 				Name:     "JYGuestUID",

+ 5 - 2
src/jfw/front/login.go

@@ -384,11 +384,14 @@ func userIsExists(phoneNum string) bool {
 	return mongodb.Count("user", query) > 0
 }
 
-func anonymousLogin(session *httpsession.Session, fid string) {
+func anonymousLogin(session *httpsession.Session, trustedId string) {
+	if trustedId == "" {
+		return
+	}
 	sessionMap := session.GetMultiple()
 	positionId := sessionMap["positionId"]
 	mgoUserId := sessionMap["mgoUserId"]
-	queryData := map[string]interface{}{"positionId": positionId, "mgoUserId": mgoUserId, "trustedId": fid, "creation_time": time.Now().Unix()}
+	queryData := map[string]interface{}{"positionId": positionId, "mgoUserId": mgoUserId, "trustedId": trustedId, "creation_time": time.Now().Unix()}
 
 	//匿名用户登录后创建关联信息
 	public.BaseMysql.Insert("anonymous_association", queryData)