springmvc实现登录怎么配置出https用作登录

一些网站的背后有许多的子系统如果每一个都要登录的话那么不仅用户会疯掉,子系统也会因为这些重复的逻辑认证疯掉单点登录应运而生。

在一个多系统共存的环境下用户在一处登录后,就不用在其他系统中登录也就是用户的一次登录能得到其他所有系统的信任

(1、在同一个域名下):

(我们知道,PHP表单验证是完全依赖于Cookie的)当域名相同时按照HTTP协议规定,两个站点是可以共享Cookie的这样Cookie将会分享你的信息,实现单点登录

这种方式需要我们借助一个单独的SSO服务专门做验证用。而且我们还需要对于不同的站点的用户要有一个统一的用户数据相对于前一种方式——浏览器需要存储每个站点的cookie——来说,这种方式浏览器只需要存储SSO服务站点的cookie信息将这个cookie信息用于其他站点从而实现单点登录。我们暫且将这个SSO服务站点成为(以下简称SSOsite)

在这种模型下,针对任何站点的请求都将会先重定向到SSOsite去验证一个身份验证cookie是否存在如果存在,则验证过的页面将会发送给浏览器否则用户将会被重定向到登录页面。

简单说就是:我们设计一个sso服务器用于存储用户的Cookie信息,把怹用来给其他的站点登录这样的话所有的站点的请求都会发到sso服务器中进行验证

实现sso服务器(主要讲原理)

我把整个实现过程分为14步:

1:用户访问系统1的受保护资源,系统1发现用户未登录跳转至sso认证中心,并将自己的地址作为参数
2:sso认证中心发现用户未登录将用户引導至登录页面
3:用户输入用户名密码提交登录申请
4:sso认证中心校验用户信息,创建用户与sso认证中心之间的会话称为全局会话,同时创建授权令牌
5:sso认证中心带着令牌跳转会最初的请求地址(系统1)
6:系统1拿到令牌去sso认证中心校验令牌是否有效
7:sso认证中心校验令牌,返回囿效注册系统1
8:系统1使用该令牌创建与用户的会话,称为局部会话返回受保护资源
9:用户访问系统2的受保护资源
10:系统2发现用户未登錄,跳转至sso认证中心并将自己的地址作为参数
11:sso认证中心发现用户已登录,跳转回系统2的地址并附上令牌
12:系统2拿到令牌,去sso认证中惢校验令牌是否有效
13:sso认证中心校验令牌返回有效,注册系统2
14:系统2使用该令牌创建与用户的局部会话返回受保护资源

我们用maven建好项目,搭建好基础环境

服务器(是两个子系统都需要经过的,主要验证账号密码生成token和存储token信息,方便验证):

一些网站的背后有许多的子系统如果每一个都要登录的话那么不仅用户会疯掉,子系统也会因为这些重复的逻辑认证疯掉单点登录应运而生。

在一个多系统共存的环境下用户在一处登录后,就不用在其他系统中登录也就是用户的一次登录能得到其他所有系统的信任

(1、在同一个域名下):

(我们知道,PHP表单验证是完全依赖于Cookie的)当域名相同时按照HTTP协议规定,两个站点是可以共享Cookie的这样Cookie将会分享你的信息,实现单点登录

这种方式需要我们借助一个单独的SSO服务专门做验证用。而且我们还需要对于不同的站点的用户要有一个统一的用户数据相对于前一种方式——浏览器需要存储每个站点的cookie——来说,这种方式浏览器只需要存储SSO服务站点的cookie信息将这个cookie信息用于其他站点从而实现单点登录。我们暫且将这个SSO服务站点成为(以下简称SSOsite)

在这种模型下,针对任何站点的请求都将会先重定向到SSOsite去验证一个身份验证cookie是否存在如果存在,则验证过的页面将会发送给浏览器否则用户将会被重定向到登录页面。

简单说就是:我们设计一个sso服务器用于存储用户的Cookie信息,把怹用来给其他的站点登录这样的话所有的站点的请求都会发到sso服务器中进行验证

实现sso服务器(主要讲原理)

我把整个实现过程分为14步:

1:用户访问系统1的受保护资源,系统1发现用户未登录跳转至sso认证中心,并将自己的地址作为参数
2:sso认证中心发现用户未登录将用户引導至登录页面
3:用户输入用户名密码提交登录申请
4:sso认证中心校验用户信息,创建用户与sso认证中心之间的会话称为全局会话,同时创建授权令牌
5:sso认证中心带着令牌跳转会最初的请求地址(系统1)
6:系统1拿到令牌去sso认证中心校验令牌是否有效
7:sso认证中心校验令牌,返回囿效注册系统1
8:系统1使用该令牌创建与用户的会话,称为局部会话返回受保护资源
9:用户访问系统2的受保护资源
10:系统2发现用户未登錄,跳转至sso认证中心并将自己的地址作为参数
11:sso认证中心发现用户已登录,跳转回系统2的地址并附上令牌
12:系统2拿到令牌,去sso认证中惢校验令牌是否有效
13:sso认证中心校验令牌返回有效,注册系统2
14:系统2使用该令牌创建与用户的局部会话返回受保护资源

我们用maven建好项目,搭建好基础环境

服务器(是两个子系统都需要经过的,主要验证账号密码生成token和存储token信息,方便验证):

我要回帖

更多关于 springmvc实现登录 的文章

 

随机推荐