瀏覽代碼

完成upms系统登录

shuzheng 9 年之前
父節點
當前提交
bbdc2c9395

+ 24 - 0
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/admin/controller/IndexController.java

@@ -0,0 +1,24 @@
+package com.zheng.upms.admin.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 首页controller
+ * Created by ZhangShuzheng on 2017/01/19.
+ */
+@Controller
+public class IndexController {
+
+	/**
+	 * 默认页跳转到后台
+	 * @return
+	 */
+	@RequestMapping(value = {"", "/index"})
+	public String index() {
+		return "redirect:/manage";
+	}
+
+}

+ 28 - 0
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/admin/controller/ManageController.java

@@ -0,0 +1,28 @@
+package com.zheng.upms.admin.controller;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+/**
+ * 后台controller
+ * Created by ZhangShuzheng on 2017/01/19.
+ */
+@Controller
+@RequestMapping("/manage")
+public class ManageController {
+
+	private static Logger _log = LoggerFactory.getLogger(ManageController.class);
+
+	@RequestMapping(value = {"", "/index"})
+	public String index() {
+		return "/manage/index";
+	}
+
+	@RequestMapping("/login")
+	public String login() {
+		return "/manage/login";
+	}
+
+}

+ 15 - 0
zheng-upms/zheng-upms-server/src/main/java/com/zheng/upms/admin/controller/SSOController.java

@@ -3,7 +3,10 @@ package com.zheng.upms.admin.controller;
 import com.zheng.common.util.CookieUtil;
 import com.zheng.common.util.RedisUtil;
 import com.zheng.upms.dao.model.UpmsSystemExample;
+import com.zheng.upms.dao.model.UpmsUser;
+import com.zheng.upms.dao.model.UpmsUserExample;
 import com.zheng.upms.rpc.api.UpmsSystemService;
+import com.zheng.upms.rpc.api.UpmsUserService;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -38,6 +41,9 @@ public class SSOController {
 	@Autowired
 	UpmsSystemService upmsSystemService;
 
+	@Autowired
+	UpmsUserService upmsUserService;
+
 	/**
 	 * 认证中心首页
 	 * @param request
@@ -135,6 +141,15 @@ public class SSOController {
 			result.put("result", false);
 			result.put("data", data);
 			return result;
+		}
+		// 校验帐号密码
+		UpmsUserExample upmsUserExample = new UpmsUserExample();
+		upmsUserExample.createCriteria()
+				.andUsernameEqualTo(username)
+				.andPasswordEqualTo(password);
+		int count = upmsUserService.countByExample(upmsUserExample);
+		if (count > 0) {
+
 		}
 		// 分配单点登录sessionId,不使用session获取会话id,改为cookie,防止session丢失
 		String sessionId = CookieUtil.getCookie(request, ZHENG_UPMS_SSO_SERVER_SESSION_ID);

+ 9 - 16
zheng-upms/zheng-upms-sso-client/src/main/java/com/zheng/upms/sso/client/filter/SSOFilter.java

@@ -1,6 +1,7 @@
 package com.zheng.upms.sso.client.filter;
 
 import com.zheng.common.util.RedisUtil;
+import com.zheng.upms.sso.client.filter.util.RequestParameterUtil;
 import org.apache.commons.lang.StringUtils;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
@@ -58,7 +59,13 @@ public class SSOFilter implements Filter {
 
         // 已登录
         if (!StringUtils.isEmpty(RedisUtil.get(sessionId + "_token"))) {
-            filterChain.doFilter(request, response);
+            // 移除url中的token参数
+            if (null != request.getParameter("token")) {
+                String backUrl = RequestParameterUtil.getParameterWithOutToken(request);
+                response.sendRedirect(backUrl.toString());
+            } else {
+                filterChain.doFilter(request, response);
+            }
             return;
         }
         // 未登录
@@ -90,21 +97,7 @@ public class SSOFilter implements Filter {
                             RedisUtil.getJedis().sadd(token + "_subSessionIds", sessionId);
                             _log.info("当前token={},对应的注册系统有:{}个", token, RedisUtil.getJedis().scard(token + "_subSessionIds"));
                             // 移除url中的token参数
-                            StringBuffer backUrl = request.getRequestURL();
-                            String params = "";
-                            Map<String, String[]> parameterMap = request.getParameterMap();
-                            for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
-                                if (!entry.getKey().equals("token")) {
-                                    if (params.equals("")) {
-                                        params = entry.getKey() + "=" + entry.getValue()[0];
-                                    } else {
-                                        params += "&" + entry.getKey() + "=" + entry.getValue()[0];
-                                    }
-                                }
-                            }
-                            if (!StringUtils.isEmpty(params)) {
-                                backUrl = backUrl.append("?").append(params);
-                            }
+                            String backUrl = RequestParameterUtil.getParameterWithOutToken(request);
                             // 返回请求资源
                             response.sendRedirect(backUrl.toString());
                             return;

+ 38 - 0
zheng-upms/zheng-upms-sso-client/src/main/java/com/zheng/upms/sso/client/filter/util/RequestParameterUtil.java

@@ -0,0 +1,38 @@
+package com.zheng.upms.sso.client.filter.util;
+
+import org.apache.commons.lang.StringUtils;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * request参数工具类
+ * Created by shuzheng on 2017/1/19.
+ */
+public class RequestParameterUtil {
+
+    /**
+     * 移除url中的token参数
+     * @param request
+     * @return
+     */
+    public static String getParameterWithOutToken(HttpServletRequest request) {
+        StringBuffer backUrl = request.getRequestURL();
+        String params = "";
+        Map<String, String[]> parameterMap = request.getParameterMap();
+        for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
+            if (!entry.getKey().equals("token")) {
+                if (params.equals("")) {
+                    params = entry.getKey() + "=" + entry.getValue()[0];
+                } else {
+                    params += "&" + entry.getKey() + "=" + entry.getValue()[0];
+                }
+            }
+        }
+        if (!StringUtils.isEmpty(params)) {
+            backUrl = backUrl.append("?").append(params);
+        }
+        return backUrl.toString();
+    }
+
+}