`
knight_black_bob
  • 浏览: 851101 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sso 单点登陆 客户端 登录

    博客分类:
  • web
阅读更多

 

 

 

	/*
	 * 用于处理通过开放平台登陆请求
	 * */
	@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单点登录客户端的相关知识点。 1. SSO原理: SSO的核心在于共享用户认证信息。当用户在SSO环境中首次登录一个应用(称为服务提供者或SP)时,会通过身份验证服务器(称为身份提供者或IDP)进行...

    sso单点登录

    SSO单点登录技术是现代企业级应用架构中不可或缺的一部分,它通过统一的身份认证服务提升了用户体验,降低了运维复杂度。"Simple-SSO"项目为开发者提供了一个学习和实践SSO的平台,结合Maven的项目管理,使得分布式...

    关于SSO单点登录的简单实现

    SSO(Single Sign-On)单点登录...总之,SSO单点登录为用户提供了便捷的访问体验,同时降低了管理多系统登录的复杂性。通过理解其原理和实现方式,我们可以根据具体需求选择合适的技术方案,构建高效且安全的SSO系统。

    sso单点登录源代码

    在“sso单点登录源代码”中,我们可以看到以下几个关键组成部分: 1. **SSOLab.sln**:这是一个Visual Studio解决方案文件,包含了整个SSO项目的所有组件。通过这个文件,开发者可以打开并管理整个项目,包括各个子...

    SSO之CAS单点登录客户端服务端jar包

    在"SSO之CAS单点登录客户端服务端jar包"中,包含的是实现CAS单点登录功能所需的客户端和服务端组件。这些jar包包含了以下关键知识点: 1. **CAS服务器**:这是整个SSO架构的核心,负责处理用户的登录请求,验证凭证...

    SSO单点登录源码

    在"SSO单点登录源码"这个主题中,我们主要关注的是如何实现这样一个系统。通过提供的链接(http://www.blogjava.net/xcp/archive/2010/04/13/318125.html),我们可以了解到SSO的基本原理和实现步骤。在这个样例中,...

    SSO 单点登录(java)

    以上是SSO单点登录在Java环境中的主要技术和知识点,理解并掌握这些内容,有助于构建高效且安全的多系统登录解决方案。对于各应用独立用户库的情况,可以通过用户同步、联合身份或联邦身份管理等方式来实现。在具体...

    CAS实现sso单点登录原理

    "CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年,并在2004年12月...

    sso单点登录.rar

    这个压缩包文件"SSO单点登录.rar"包含了关于SSO实现的两个关键部分:服务器端(server)和客户端(client_1),这将帮助我们深入理解SSO的工作原理和实际应用。 1. SSO工作原理: SSO的核心是中央认证服务(CAS)...

    sso单点登录demo.zip

    SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个应用程序,而无需再次输入凭证。在这个"ssso单点登录demo.zip"压缩包中,包含了一个基于Spring Boot、Spring Data JPA和MySQL实现的...

    sso单点登录demo

    这个“sso单点登录demo”是一个Java实现的示例,包含了三种不同的场景:相同域名、相同父类域名以及不同域名的SSO解决方案。 1. **相同域名的SSO** (`sso_same_domain`): 在同一域名下实现SSO,通常比较直接,因为...

    sso单点登录实例

    SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他关联的系统或应用。这大大提升了用户体验,减少了用户记忆多个密码的负担,同时也有助...

    Java进阶SSO单点登录技术CAS-快速上手与原理探究视频教程

    本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...

    cas sso单点登录已搭建好的源码-内含客户端和服务端

    4. 退出逻辑:实现单点登出功能,当用户在一个应用中注销时,客户端会通知其他应用同步注销状态。 在源码中,开发者可以深入理解CAS SSO的工作流程,包括: - 如何配置CAS服务器,设置认证源和策略。 - 客户端如何...

    基于Java语言的webutil-sso单点登陆客户端设计源码

    该项目是一款基于Java语言的Web单点登录(SSO)客户端设计源码,包含30个文件,主要由21个Java源文件、2个属性文件、2个Markdown文件、1个Git忽略文件、1个JAR文件、1个Maven构建文件以及1个XML文件组成。该客户端...

    java sso单点登录案例、服务综合治理

    总的来说,SSO单点登录的实现涉及身份验证、票据管理和服务间的协作。在Java环境下,我们可以选择Spring Security、CAS或Keycloak等工具来构建SSO系统,并结合服务综合治理框架,如Spring Cloud或Netflix OSS,提高...

    SSO单点登录实现与实现原理

    总结来说,SSO单点登录是提高用户访问效率和系统安全性的重要工具。其核心在于通过中央认证服务实现用户身份的统一管理和验证,简化了用户的登录流程,同时也降低了潜在的安全风险。了解SSO的实现原理和源码分析,...

Global site tag (gtag.js) - Google Analytics