SSO java方式个人实现

Java实现单点登录(SSO)详解 单点登录(Single Sign-On,简称SSO)是目前比较流行的企业业务整合的解决方案之一,它的主要功能是:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。单点登录的实现机制是:当用户第一次访问应用系统1的时候,因为还没有登录,所以会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行验证,如果通过验证,则应该返回给用户一个认证的凭据——ticket; 阅读详情

一、什么是SSO 

SSO 就是single sign-on service (单点登陆服务),例:在 登陆webqq以后,直接可以跳转至QQ邮件与QQ空间,一次登陆,所有同一域名下的相关系统受用。


二、实现SSO必须解决以下问题:

1、如何实现Token的共享传输。

2、web应用如何跟SSO应用通讯。

3、Session失效时如何控制。

4、SSL(QQ、百度没有做SSL。淘宝,12306有用)


三、项目搭建与准备

新建三个项目:

SSODemo1(微博)

SSODemo2(论坛)

SSOServer(SSO服务)


生成ssl的密钥ssoserver.crt,并配置Tomcat,(这一步忘记写与截图,有时间补上)。大家可以百度“java 生成SSL密钥“,TOMCAT配置SSL


使用Tomcat 做为应用服务器。如图:



四、测试

访问微博首页




点击登陆转向至SSO,没有被第三方机构认证认证,点仍然继续



SSO认证页面

】


登陆成功后重向定至微博,并带上TOKEN


通过token认证,,跳转至论坛


token的传递



五、其它:

1、网上有很多SSO的流程图,这里我就不讨论了。

2、用RMI做为其它应用与SSO服务器的通讯,若使用socket,webservice做为服务器之间的通讯可实现跨语言,php,asp。

3、因为使用cookie 做为token(令牌)的传输与共享,因此不支持跨域的单点登陆功能。(有些人一定要通过URL的方式传输Token,我只能说你实现了跨域SSO)

4、有开源的SSO框架,如CAS,研究出来之后再做。


六、项目代码

代码,共学习参考,有疑问可以在博客的下方留言给我。


Java SSO单点登录详解 单点登录(Single Sign-On,简称SSO)是一种身份认证机制,允许用户在一个系统中登录后,即可访问多个相互信任的应用系统,而无需在每个系统中重新登录。这不仅提高了用户体验,还简化了管理和维护的复杂性。 阅读详情

相关推荐

Jespa实现Java+AD的SSO

优点:解决了jcifs中,Web Filter不支持NTLM2的问题 缺点:收费   步骤1:下载JCIFS 和 Jaspa              jcifs-1.3.17    http://jcifs.samba.org/src/jcifs-1.3.17.zip              jespa 1.1   http://www.ioplex.com/downloads

阳心的博客 9725

JavaWeb中单点登录(SSO)的几种解决方案及原理

基于中央认证授权(Central Authentication Authorization, CAS) 的 SSO:CAS 是一种开源的单点登录协议,它使用令牌来实现 SSO,可以与各种应用程序进行集成。2、基于代理(Proxy)的 SSO:一个代理服务器接收来自用户的请求,并将其重定向到适当的应用程序,并将用户身份验证信息传递给该应用程序。1、基于令牌(Token)的 SSO:用户在登录成功后,得到一个令牌,然后该令牌被用于访问其他相互信任的应用程序

林立鹏的博客 2011

Java基于cookie实现跨域SSO单点登录(Web版)

java基于cookie实现跨域单点登录

A_finder的博客 2726

Java中的SSO(单点登录):从入门到精通

单点登录(Single Sign-On,SSO)是一种认证机制,允许用户在多个独立的软件系统中使用同一套登录凭证。也就是说,用户只需登录一次,就能访问所有相互信任的应用系统,而无需重复登录。SSO通过一个集中式的认证服务器管理用户的认证信息,当用户尝试访问受保护的资源时,该服务器验证用户的身份,并返回一个认证令牌给应用系统,从而实现单点登录的效果【6†source】【7†source】。单点登录(SSO)通过简化用户认证流程,提升了用户体验和安全性。

weixin_46372265的博客 1396

单点登录SSO机制与Java实现详解

在当今信息化快速发展的背景下,系统安全与用户体验并重。单点登录(SSO)作为提高用户体验,简化用户认证过程的技术手段,其作用愈发重要。单点登录允许用户仅需进行一次身份验证,即可访问多个不同的应用系统,这不仅减少了用户重复登录的繁琐,也降低了管理员在维护多个系统用户信息时的工作量。单点登录(Single Sign-On,简称SSO)是一种用户登录管理的解决方案,它允用户通过一次登录后访问多个应用程序或服务。

weixin_35757531的博客 824

SSO 客户端JAVA接入例子和文档

NULL 博文链接:https://rwg109.iteye.com/blog/760000

Java实现单点登录(SSO)详解:从理论到实践

单点登录是一种身份认证的机制,允许用户在访问多个相关但独立的软件系统时,只需一次登录,便可无缝访问所有系统。这大大提高了用户体验,并简化了管理和维护的复杂性。通过本文,我们详细讨论了SSO的核心概念、选择了适当的身份验证协议,并提供了完整的Java代码实现。实现SSO系统需要深入理解身份验证协议、使用合适的框架,以及合理配置认证和资源服务器。希望这篇博客能够为你提供深度且全面的SSO实现指南。通过这个实践,你将更好地理解和应用SSO技术,提升应用的用户体验和安全性。

喔的嘛呀的博客 2757

java 基于 Cookie 的 SSO 中间件 kisso 低代码

java 基于 Cookie 的 SSO 中间件 kisso 低代码

java 单点登录(SSO)

java 单点登录(SSO) 一、背景 在企业发展初期,企业使用的系统很少,通常一个或者两个,每个系统都有自己的登录模块,运营人员每天用自己的账号登录,很方便。 但随着企业的发展,用到的系统随之增多,运营人员在操作不同的系统时,需要多次登录,而且每个系统的账号都不一样,这对于运营人员来说,很不方便。 于是,就想到是不是可以在一个系统登录,...

FireAny2010的专栏 5676

《IC验证必看|IC验证的全流程概览(从DUT到回归交付)》

本文系统介绍了IC验证的全流程,从理解设计需求到最终交付验证结果。主要内容包括:1)深入理解DUT的功能和接口;2)制定详细的测试计划(Testplan);3)搭建UVM验证平台;4)执行定向和随机测试并进行回归;5)分析功能、代码和断言覆盖率;6)交付完整的验证报告。文章强调验证是一个闭环过程,特别指出新手容易忽视测试计划和覆盖率分析这两个关键环节,导致验证不充分。文末还提出思考题,引导读者反思验证计划的制定方法。

m0_46663240的博客 1261

VFH避障/局部路径规划算法

VFH避障/局部路径规划算法 本文章是我看《The Vector Field Histogram-Fast Obstacle Avoidance for Mobile Robots》论文时候的笔记,感兴趣的欢迎去看原论文。 VFH中有一些概念是从其他算法中借鉴过来的,并且VFH算法本身就是对VFF(Virtural Force Field)的一种改进,其中有很多的相似之处。所以按照原论文的思路,先介绍由CMU提出的Certainty Grid算法中的一些概念,再介绍一下势场法中的一些概念,接着介绍一下VFF

qq_41845878的博客 8116

SSO单点登录系统的实现

什么是SSO? 维基百科的解释是:  个人理解:     我们刚学javaweb所写的程序都是一些比较小的用来练手学习的程序,所有的系统都在一个tomcat内完成,在一个tomcat内session可以共享,之后在企业项目都会被拆分成分布式的项目,也就是每个系统都是一个单独的项目,这种情况下session不能共享,那么如何保存用户的登录信息,于是我们就要用到SSO单点登录系统。我们平时用...

shemuel的技术笔记 1813

人工智能在高中教育中的应用现状剖析与挑战应对

人工智能在高中教育中的应用现状剖析与挑战应对

燕鹏 1338

SSO单点登录Java实现实例

随着公司系统的增加,每次新建一个项目是否还在做登录功能呢,还在做重复的工作?统一登录SSO你值得拥有。本文主要讲解,基于令牌token方式实现,SpringBoot工程下的SSO单点登录整合代码实例Demo,文末附源码地址。 1.环境准备 SSO认证中心服务( www.mysso.com) 客户端1(www.myclient1.com) 客户端2(www.myclient2.com) 由于是Demo实例,这里若有要访问-需要修改一下本机host,添加如下映射 127.0.0.1 www.mysso.

程序员小强的博客 2万+

基于YOLOv5的隧道衬砌缺陷智能检测系统

计算机视觉在工程检测领域正发挥越来越重要的作用,特别是目标检测技术通过深度学习算法实现了对复杂场景的智能分析。YOLOv5作为当前主流的目标检测框架,通过改进网络结构和训练策略,可以显著提升检测精度和效率。在隧道工程领域,结合通道注意力机制和多尺度特征融合技术,能够有效解决衬砌缺陷识别中的小目标检测难题。这种AI检测系统相比传统人工判读地质雷达图像,不仅将效率提升20倍,还能将识别准确率提高到92.3%,特别适用于3cm以上结构缺陷的自动化检测。系统通过深度可分离卷积等优化,实现了模型轻量化,便于在边缘计算

weixin_29064103的博客 326

ANSYS Twin Builder实战:5步搞定数字孪生模型部署(附ROM配置技巧)

本文详细解析了ANSYS Twin Builder在数字孪生模型部署中的实战应用,重点介绍了ROM(降阶模型)配置技巧。通过5个关键步骤,从环境搭建到工业部署,帮助工程师高效实现高精度三维仿真到轻量化数字孪生的转化,提升预测性维护和系统仿真效率。

weixin_27330481的博客 657

单点登录SSO的实现方式

这个文章我们来讨论一下单点登录SSO的一些实现方式,其中包括对session和cookie的一些讨论。 一、     我们知道http协议是无状态的协议,也就是说一次请求对应一次响应,不和这次请求的上一次和下一次请求产生关联。那么这样就有一个问题,比如说,我们想实现一个购物车,我们往购物车中添加商品,每次刷新发现上一次添加的商品不见了,每次购物车里都是这次添加的商品,前面添加的不见了。为什么?

TangXW的博客 1万+

secureCRT 破解方法

3、输入注册信息打开keygen.exe,点击path,选择SecureCRT的安装目录(例如D:\VanDykeSoftware\Clients)的securecrt.exe打开,继续下一步打开LicenseHelper.exe,如下。1、注册SecureCRT9.1打开keygen.exe,出现以下问题(没有关掉安全防护,一双击打开,Windows会自动识别keygen.exe为bingdu并删除)打开桌面SecureCRT,此界面不输入内容,直接点击下一步。2、存储配置文件夹(可以默认安装)

逆水行舟 1万+

java实现 SSO 单点登录(最终版)--补充完全跨域SSO

前言   前面我写了一篇文章,java实现完全跨域SSO单点登录,最后我会比较两种方案。   那篇文章主要说明完全跨域SSO单点登录的实现,但是我最终并没有使用那篇,当然,那篇完全可以实现SSO跨域,但是那篇有一些不太优雅的地方,我综合我的场景等各方面考虑,最终选择了我下面的这个方案。因为那篇并没有被选用,所以代码大家可以随意看,但是下面这个方案因为代码已经在使用,所以不太方便分享代码,见谅。大家...

下雨了_简的博客 2万+

uniapp:解决微信小程序包体积超过2M的优化方案+详解分包问题,编译小程序体积大于2M不能上传和预览提示体积太大的处理教程,uniApp微信小程序主包过大问题如何解决(排查可疑点+分包+最小改动)

uniapp微信小程序开发,如何解决打包太大无法预览发布的问题,uniApp微信小程序包体积超过2M的优化方法,uni-app打包微信小程序主包超2M终极解决方案,使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法,UniApp开发的微信小程序主包过大问题及解决方案 编译小程序时Node-modules被打入主包,小程序体积大于2M不能上传和预览,怎么处理,解决微信小程序主包太大问题,微信小程序中主包和分包过大,详解分包问题,uni-app 微信小程序发布时,主包超

✅ 精选推荐文章 5066

7、CUDA 软件架构与开发工具详解

本文深入探讨了CUDA的软件架构与核心开发工具,涵盖CUDA数组与纹理、表面引用、图形互操作性机制,以及CUDA运行时与驱动程序API的功能对比。详细解析了nvcc编译器的使用方法、编译轨迹与代码生成选项,并结合实际示例说明其应用。文章旨在帮助开发者理解不同技术的选择依据,合理利用CUDA工具链,提升GPU计算性能,适用于从入门到进阶的CUDA开发人员参考。

nnn11的博客 97

JAVA-实现SSO登录

SSO(Single Sign-On,单点登录)是一种身份验证机制,允许用户通过一次登录访问多个相互信任的应用程序或系统,无需重复输入凭据。核心目标是提升用户体验和安全性。

qq_53540657的博客 2251

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java实现SSO单点登录方案

Java实现SSO单点登录方案

immanchen的博客 1931

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java实现的SSO单点登录

原理 在网上找了很多SSO 框架,不是太复杂就是侵入式的,比如CAS,josso,后为想还是自己写一个吧,反正不难。以下记录一下,希望对大家有用. 1:产生背景 想像一下,一家企业从无信息化系统开始着手实现自己公司的信息化,假如这家公司有自己的IT团队,第一个系统公司一般都会先上OA系统,他的基本结构如下: 系统上线后运行很正常,公司从企业信息化中尝到甜头,想接

逍遥飞鹤的专栏 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

[Java 基于SSO实现单点登录]

顺风顺水

汤圆的博客 2730

java实现单点登陆(SSO)

java实现单点登陆(SSO) 网络域名必须完全一致,才代表同一站点。 域名映射 :访问后面的 会跳转到前面 单点登陆概念: 多系统,单一位置登录,实现多系统同时登陆。常出现在互联网和企业级平台中。 单点登陆一般是用于互相授信的系统,实现单一位置登录,全系统有效。 三方登录:某系统使用其他系统的用户,实现本系统登录的方式,如在jd上使用wx登录。解决信息孤岛(共享用户的名字,而不是密码,用户在每...

weixin_44026997的博客 2846
上一篇: ConcurrentModificationException 避免
下一篇: Oracle 多表关联查询后修改
javaee_ssh
博客等级 码龄18年 42粉丝 42原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值