Browse Source

修复saas修改密码显示秘钥错误问题

wangmh 8 years ago
parent
commit
68118fa5cd

+ 15 - 10
sso-server/src/main/java/com/uas/sso/controller/BaseController.java

@@ -3,9 +3,8 @@ package com.uas.sso.controller;
 import com.alibaba.fastjson.JSON;
 import com.uas.message.mail.service.MailService;
 import com.uas.message.sms.service.SmsService;
-import com.uas.sso.SSOHelper;
+import com.uas.sso.SSOConfig;
 import com.uas.sso.core.Const;
-import com.uas.sso.core.PasswordStrength;
 import com.uas.sso.entity.Setting;
 import com.uas.sso.entity.Token;
 import com.uas.sso.exception.VisibleError;
@@ -27,8 +26,6 @@ import java.io.IOException;
 import java.io.PrintWriter;
 import java.util.Map;
 
-import static com.uas.sso.SSOConfig.getSSOProperties;
-
 /**
  * controller基础类
  *
@@ -290,11 +287,15 @@ public class BaseController {
 //        }
 
         // 判断加密信息是否有误
-        String urlMessage = getFrontUrl() + request.getRequestURI() + "?"
-                + request.getQueryString().substring(0, request.getQueryString().indexOf("_signature") - 1);
-        if (!signature.equals(HmacUtils.encode(urlMessage, accessSecret))) {
-            throw new VisibleError("密钥错误");
+        String[] frontUrls = getFrontUrl();
+        for (String frontUrl : frontUrls) {
+            String urlMessage = frontUrl + request.getRequestURI() + "?"
+                    + request.getQueryString().substring(0, request.getQueryString().indexOf("_signature") - 1);
+            if (signature.equals(HmacUtils.encode(urlMessage, accessSecret))) {
+                return;
+            }
         }
+        throw new VisibleError("密钥错误");
     }
 
     /**
@@ -335,7 +336,11 @@ public class BaseController {
         }
     }
 
-    protected String getFrontUrl() {
-        return SSOHelper.getSSOService().getConfig().getSSOProperties().get("sso.front.url");
+    protected String[] getFrontUrl() {
+        System.out.println(request.getHeader("X-Forwarded-Proto"));
+        System.out.println(request.getHeader("X-Forwarded-For"));
+        System.out.println(request.getHeader("X-Forwarded-Host"));
+        String url = SSOConfig.getSSOProperties().get("sso.front.url");
+        return url.split(",");
     }
 }

+ 1 - 1
sso-server/src/main/resources/prod/account.properties

@@ -4,7 +4,7 @@ sso.app=sso
 sso.secretkey=0taQcW073Z7G628g5H
 sso.cookie.domain=ubtob.com
 sso.cookie.secure=false
-sso.front.url=https://sso.ubtob.com
+sso.front.url=https://sso.ubtob.com,http://10.10.100.133:9990
 
 ### crossdomain verify
 sso.authcookie.secretkey=Z318866alN6gA0piuO