SSO单点登录(同域)

下面来说说SSO单点登录,
第一、什么是SSO。

单点登录(英文名:Single Sign On,简称:SSO),就是通过用户的一次性鉴别登录。是企业业务整合的解决方案之一,SSO的目标是在多个应用系统中,用户只需登录一次就可以访问所有相互信任的应用系统。就是使用SSO后登录一次就可以进入多个系统,而不需要重新登录。优点是不但给用户带来更舒适的操作体验,更主要是降低了安全的风险和管理的消耗。
为什么使用SSO呢?

现在的流行web系统不断变的复杂,从最早的单系统单模块发展到现在多系统多模块的应用群,用户在访问这些应用群中的各个系统时,是不是都要登录,登出?

如果这样的话,我是用户,会觉得体验非常不妙,希望的是在这些统一的登录,通俗就是,不管登录的是哪个系统,其它相互信任的系统就无需再登录。
举个例子:大家都知道天猫和淘宝。那么也知道天猫和淘宝都是属于阿里巴巴旗下的。所以在浏览器登录时,你会发现不管你登录是哪个网站,再访问另外一个是不需要再登录的了(是在当前浏览器没关闭的情况下)。这种方式就是SSO(单点登录)。

那么在现实生活中会选择出行乘坐公交或者地铁,如果有一张城市一卡通,就可以坐公交和地铁,这和sso是很类似的。首先你要乘车→到达车站售票处→购买一卡通→准备乘车→是否有一卡通→验票→有效→乘车。就差不多类似的。

SSO→进入统一登录页面→输入账号登录,同时将cookie写入→进入到主页面→是否有cookie→服务器验证cookie信息→cookie信息是否有效→进入页面

SSO也分为同域、同父域、还有跨域。比如:淘宝和天猫的就是跨域,域名完全不同,一个是天猫tmall.com–理想生活上天猫,一个是https://www.taobao.com/。这就属于完全跨域的SSO。还有另外一个出名的企业,百度。它里面包含的业务很多。最常用的是百度搜索引擎。那么它的网址是www.baidu.com,它另外的百度文库、百度翻译,wenku.baidu.com,fanyi.baidu.com是这样的有一个网址,这种就属于同父域的SSO,可以清楚看到都由baidu.com域名。只有前面的名字不一样。
下面的是SSO的流程图:
在这里插入图片描述

那么在这里演示一下简单同域的SSO
环境参数:jdk1.8、eclipse、tomcat
准备工作

1.准备三个web项目同域
ssoLoginCheck Domain用于完成统一登录验证
ssoDemo01_Domain 测试项目访问统一登录项目
ssoDemo02_Domain 测试项目访问统一登录项目

2.类创建
ssoLoginCheck Domain项目类定义
LoginServlet.java用于实现统一登录验证
CheckLoginServlet.java 用于实现进行统一身份验证

3.jsp创建
ssoDemo01_Domain项目jsp定义
index.jsp用于在首页将请求发送到统一身份验证接口
login.jsp用于发送登录请求到统一登录接口
demo.jsp用于登录后显示信息的页面

LoginServlet.java

CheckLoginServlet.java

Login.jsp

账号:
密码:

Index.jsp

Demo.jsp

Insert title here 这是01的demo.jsp 这样就是一个简单sso同域的代码。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值