欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sso 单点登陆 客户端 登录

程序员文章站 2022-04-28 20:38:16
...

 

 

 

	/*
	 * 用于处理通过开放平台登陆请求
	 * */
	@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 单点登陆 客户端 登录
            
    
    博客分类: web sso单点登陆客户端登录 sso 单点登陆 客户端 登录
            
    
    博客分类: web sso单点登陆客户端登录 sso 单点登陆 客户端 登录
            
    
    博客分类: web sso单点登陆客户端登录 
 
 
 谢谢您的赞助,我会做的更好!