/* * 用于处理通过开放平台登陆请求 * */ @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单点登录客户端的相关知识点。 1. SSO原理: SSO的核心在于共享用户认证信息。当用户在SSO环境中首次登录一个应用(称为服务提供者或SP)时,会通过身份验证服务器(称为身份提供者或IDP)进行...
SSO单点登录技术是现代企业级应用架构中不可或缺的一部分,它通过统一的身份认证服务提升了用户体验,降低了运维复杂度。"Simple-SSO"项目为开发者提供了一个学习和实践SSO的平台,结合Maven的项目管理,使得分布式...
SSO(Single Sign-On)单点登录...总之,SSO单点登录为用户提供了便捷的访问体验,同时降低了管理多系统登录的复杂性。通过理解其原理和实现方式,我们可以根据具体需求选择合适的技术方案,构建高效且安全的SSO系统。
在“sso单点登录源代码”中,我们可以看到以下几个关键组成部分: 1. **SSOLab.sln**:这是一个Visual Studio解决方案文件,包含了整个SSO项目的所有组件。通过这个文件,开发者可以打开并管理整个项目,包括各个子...
在"SSO之CAS单点登录客户端服务端jar包"中,包含的是实现CAS单点登录功能所需的客户端和服务端组件。这些jar包包含了以下关键知识点: 1. **CAS服务器**:这是整个SSO架构的核心,负责处理用户的登录请求,验证凭证...
在"SSO单点登录源码"这个主题中,我们主要关注的是如何实现这样一个系统。通过提供的链接(http://www.blogjava.net/xcp/archive/2010/04/13/318125.html),我们可以了解到SSO的基本原理和实现步骤。在这个样例中,...
以上是SSO单点登录在Java环境中的主要技术和知识点,理解并掌握这些内容,有助于构建高效且安全的多系统登录解决方案。对于各应用独立用户库的情况,可以通过用户同步、联合身份或联邦身份管理等方式来实现。在具体...
"CAS实现sso单点登录原理" CAS(Central Authentication Service)是Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于Web SSO)。CAS开始于2001年,并在2004年12月...
这个压缩包文件"SSO单点登录.rar"包含了关于SSO实现的两个关键部分:服务器端(server)和客户端(client_1),这将帮助我们深入理解SSO的工作原理和实际应用。 1. SSO工作原理: SSO的核心是中央认证服务(CAS)...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个应用程序,而无需再次输入凭证。在这个"ssso单点登录demo.zip"压缩包中,包含了一个基于Spring Boot、Spring Data JPA和MySQL实现的...
这个“sso单点登录demo”是一个Java实现的示例,包含了三种不同的场景:相同域名、相同父类域名以及不同域名的SSO解决方案。 1. **相同域名的SSO** (`sso_same_domain`): 在同一域名下实现SSO,通常比较直接,因为...
SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他关联的系统或应用。这大大提升了用户体验,减少了用户记忆多个密码的负担,同时也有助...
本课程主要通过CAS来实现SSO,本教程会从最基本的基础知识讲起,由浅入深再到实战,完成多应用的单点登录功能。 本课程内容如下: 1、 什么是SSO和CAS 2、 CAS Server服务端和客户端的搭建和配置 3、 单点登录和单...
4. 退出逻辑:实现单点登出功能,当用户在一个应用中注销时,客户端会通知其他应用同步注销状态。 在源码中,开发者可以深入理解CAS SSO的工作流程,包括: - 如何配置CAS服务器,设置认证源和策略。 - 客户端如何...
该项目是一款基于Java语言的Web单点登录(SSO)客户端设计源码,包含30个文件,主要由21个Java源文件、2个属性文件、2个Markdown文件、1个Git忽略文件、1个JAR文件、1个Maven构建文件以及1个XML文件组成。该客户端...
总的来说,SSO单点登录的实现涉及身份验证、票据管理和服务间的协作。在Java环境下,我们可以选择Spring Security、CAS或Keycloak等工具来构建SSO系统,并结合服务综合治理框架,如Spring Cloud或Netflix OSS,提高...
总结来说,SSO单点登录是提高用户访问效率和系统安全性的重要工具。其核心在于通过中央认证服务实现用户身份的统一管理和验证,简化了用户的登录流程,同时也降低了潜在的安全风险。了解SSO的实现原理和源码分析,...