程序流程:
SSO系统
1) 用户在单点登录系统输入用户名(社编) 和密码,进行登录;
2) 单点登录校验输入的用户名(社编)和密码,验证不通过,转到错误页面。
3) 如果验证通过,则从映射表中取出该用户所有能访问的应用系统,显示在sso
登录成功页面。转向登录成功页面之前,将该用户所有能访问应用系统的实际
用户名都放到cookie中(从映射表中获得)。也就是说,该用户能访问几个应
用系统,就创建几个cookie,并分别设置好每一个cookie的域名(完整的域名,
比如:aa.lgcns.com);
4) 用户在 sso登录成功的页面,选择一个链接,请求某一个应用系统的页面;
下面是每个web应用程序中的处理(lter的处理)
5) 在每一个web应用中需要身份验证的url前分别加一个filter,因此在进入当前请求
的页面前,会先执行filter程序;
6) 在filter程序中首先检查是否存在一个session对象,能从里面获得用户对象,如
果可以,filter程序不做任何的拦截,直接进入请求的页面;
7) 如果不存在这样的一个session,filter会进行下面几个步骤的处理:
a) 检查有没有该应用对应的cookie存在,如果没有,说明未登录单点登录系统,
转向单点登录的login.jsp;
b) 如果cookie存在,继续进行,从cookie中取出该应用的用户名和域名,分布
式调用sso系统中的一个servlet,获得该用户在该应用中的实际密码;调用
结束后从应用系统的用户表中根据用户名和密码获得该用户对象,并放入
session中。Filter结束
8) 系统转向最初请求的页面。
处理结束
评论0