天天看點

sso 單點登陸 用戶端 登入

/*
	 * 用于處理通過開放平台登陸請求
	 * */
	@RequestMapping("/ssologin")
	public String ssologin(ModelMap modelMap, HttpServletRequest request) throws Exception{
		LoginSituation loginSituation = LoginSituation.Failure;

		//從資料中的配置表,擷取SSO伺服器位址
		String ssoURL = sysConfigService.getSsoDomainName();
		String uId = request.getParameter("uId");
		String uName = request.getParameter("uName");
		String token = request.getParameter("token");

		if(uId == null || uName == null || token == null){
			System.out.println("SSO使用者資訊有誤!");
			return "/ssoerror/error_userinfo";
		}	
		JSONObject jo = new JSONObject();
		jo.put("uId", uId);
		jo.put("uName", uName);
		jo.put("token", token);
		System.out.println("jsonObject:" + jo);
		String postXML = jo.toString();
		
		//向SSO伺服器發送請求
		String result = HttpPostUtil.post(postXML, ssoURL);
		if(result == null || result.trim().equals("")){
			return "/ssoerror/error_disconnect";
		}
		//從SSO伺服器傳回的響應消息擷取“resultCode”字段
		JSONObject jo2 = JSONObject.fromObject(result);
		String resultCode = jo2.getString("resultCode");
		System.out.println("resultCode=" + resultCode);
		if(resultCode !=null && "200".equals(resultCode.trim())){
			//封裝sso單點登陸使用者資訊
			LoginInfo loginInfo = new LoginInfo();
//			uName += "@open"; //在SSO使用者名後加“@open”以區分是本地使用者還是SSO使用者
			loginInfo.setLoginName(uName);
			loginInfo.setPassword(uName);//密碼預設與使用者名相同
			//驗證sso單點登陸使用者資訊
			loginSituation = loginService.userSsologin(loginInfo, modelMap, request);
			request.getSession().setAttribute("loginSituation", loginSituation);
		}
		//SSO驗證失敗
		else if(resultCode !=null && "400".equals(resultCode.trim())){
			System.out.println("驗證失敗!");
//			loginSituation = LoginSituation.Failure;
			return "/ssoerror/error_validation";
		}		
		//傳回驗證通過的頁面
		return getViewByLoginSituation(loginSituation);
//		return loginSituation.getIntCode();
	}      

捐助開發者

在興趣的驅動下,寫一個

免費

的東西,有欣喜,也還有汗水,希望你喜歡我的作品,同時也能支援一下。 當然,有錢捧個錢場(右上角的愛心标志,支援支付寶和PayPal捐助),沒錢捧個人場,謝謝各位。

sso 單點登陸 用戶端 登入
sso 單點登陸 用戶端 登入
sso 單點登陸 用戶端 登入

 謝謝您的贊助,我會做的更好!

繼續閱讀