程序流程: SSO系统 1) 用户在单点登录系统输入用户名(社编) 和密码,进行登录; 2) 单点登录校验输入的用户名(社编)和密码,验证不通过,转到错误页面。 3) 如果验证通过,则从映射表中取出该用户所有能访问的应用系统,显示在sso登录成功页面。转向登录成功页面之前,将该用户所有能访问应用系统的实际用户名都放到cookie中(从映射表中获得)。也就是说,该用户能访问几个应用系统,就创建几个cookie,并分别设置好每一个cookie的域名(完整的域名,比如:aa.lgcns.com); 4) 用户在 sso登录成功的页面,选择一个链接,请求某一个应用系统的页面; SSO,全称为Single Sign-On,即单点登录,是一种网络认证机制,允许用户在一个系统中登录后,无须再次认证就能访问其他相互信任的系统。这种机制简化了用户登录多系统的操作流程,提高了用户体验。以下是对SSO单点登录流程的详细说明: 1. 用户在SSO系统中输入用户名(通常为社编,即社会编制号码或唯一标识)和密码,尝试进行登录。这是SSO流程的第一步,用户需提供身份凭证。 2. SSO系统接收到用户提交的登录信息后,会进行身份验证。如果验证失败,例如用户名或密码错误,系统会跳转到错误页面,提示用户重新输入正确的信息。 3. 如果验证成功,SSO系统会在内部的用户权限映射表中查找该用户可以访问的所有应用系统。这些信息会被展示在SSO的登录成功页面上。在此过程中,系统会创建多个cookie,每个cookie对应用户可以访问的一个应用系统,并设置好每个cookie的域名,确保cookie能在相应的应用系统下生效。 4. 用户在登录成功页面选择一个应用系统的链接,发起对该应用系统的请求。此时,浏览器会携带已设置好的cookie一同发送请求。 接下来是每个Web应用程序内部的身份验证流程: 5. 在每个需要进行身份验证的Web应用URL前,都会配置一个过滤器(filter)。这意味着每当有新的请求到达时,过滤器会先于请求内容被处理。 6. 过滤器首先检查当前的session对象,试图从中获取用户对象。如果能找到,说明用户已经通过SSO验证,过滤器允许请求直接通过,进入目标页面。 7. 若session中没有用户对象,过滤器将继续执行以下步骤:检查是否存在与当前应用系统匹配的cookie。如果找不到,表示用户未登录SSO系统,过滤器会将用户重定向到SSO的登录页面(login.jsp)。如果找到匹配的cookie,过滤器会从cookie中提取应用系统的用户名和域信息,然后通过分布式调用SSO系统的一个特定Servlet来验证用户的密码。Servlet验证通过后,从应用系统的用户数据库中获取用户对象,将其存入当前session。 8. 经过上述处理,过滤器工作结束,用户请求的页面得以正常显示,完成了一次单点登录的完整流程。 SSO机制的核心在于统一的认证中心和各应用系统间的协作,它利用cookie和session来传递和验证用户的身份信息,实现跨系统的身份认证共享,从而简化用户在多系统环境下的操作。通过这种方式,用户只需登录一次,就能在多个相互关联的应用中自由切换,提高了工作效率,也加强了系统的安全性。
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- cubeex是基于vue2.0开发的组件库,将包含一套完整的移动UI.zip
- MineAdmin是基于Hyperf框架 和 Vue3+Vite5 开发的前后端分离权限管理系统,自适应多终端 特色:后端 crud 生成 + 前端低代码 json 化配置.zip
- Preact前端框架,一键部署到云开发平台.zip
- bpi flash读ID程序
- Lessgo 是一款简单、稳定、高效、灵活的 golang web 开发框架,支持动态路由、自动化API测试文档、热编译、热更新等,实现前后端分离、系统与业务分离.zip
- 2019计算机联考408代码题
- easyink的前端服务之一,基于企业微信JS-SDK开发的企微客户端侧边栏页面.zip
- DRF-ADMIN后台管理系统项目(端代码).zip
- micro-app-chrome-plugin是基于京东零售推出的一款为micro-app框架而开发的chrome插件.zip
- front-end project template 前端快速开发模版.zip