网站用户单点登录系统解决方案

news/2024/5/20 13:20:40/文章来源:https://blog.csdn.net/vincent_void/article/details/7229708


 

1 背景

  在网站建设的过程中,多个应用系统一般是在不同的时期开发完成的。各应用系统由于功能侧重、设计方法和开发技术有所不同,也就形成了各自独立的用户库和用户认证体系。随着网站的发展,会出现这样的用户群体:以其中的一个用户为例,他(她)使用网站的多个应用系统,但在每个应用系统中有独立的账号,没有一个整体上的网站用户账号的概念,进入每一个应用系统前都需要以该应用系统的账号来登录。这带给用户不方便的使用感受,用户会想:既然我使用的是同一个网站上的应用,为什么不能在一次在网站上登录之后不必再经过应用系统认证直接进入应用系统呢?用户的要求我们称之为 "单点登录"。

图 1.1 网站用户要求单点登录

 

2 分析

  在多个拥有各自独立的用户体系的应用系统间实现单点登录,我们要考虑以下的问题:

  • 单点登录系统的实现在各应用系统都采用B/S模式这一前提下进行。
  • 需要在各应用系统间统一用户认证标志,用户登录后可以得到用户令牌,各应用系统认可统一的用户令牌。
  • 用户令牌应当是安全加密的,并且要限定时效期。
  • 由于每个应用系统都有自己的用户库,一个用户可能在不同的应用系统中使用不同的账号,因此每个要使用多个应用系统的用户要设置一个统一的用户账号并以此账号进行单点登录,该账号与该用户在各应用系统中的一个账号形成映射关系。
  • 各应用系统可能属于不同的域,因此要实现跨域的单点登录。
  • 已经上线运行的应用系统需要进行改造来支持单点登录,正在开发的应用系统则可以在开发阶段增加对单点登录的支持,但应用系统之间应该是松耦合。
  • 由于各应用系统往往都已经处于稳定运行期,单点登录系统的实现应该对各应用系统的登录认证体系冲击最小,各应用系统原有的登录流程依然可用。
  • 一些应用服务器平台虽然提供对单点登录的支持,但要求应用系统用户认证的设计符合其规范,这对已经处于运行期的应用系统来说难以实现。

3 设计

  以下是系统的整体设计结构:

图 3.1 系统结构图



3.1 单点登录管理应用

  我们首先设计单点登录管理应用:

图 3.2 单点登录管理应用


  用户在其中注册一个单点登录账号,然后针对每个应用系统绑定一个该应用系统中原有的账号,并维护这些注册和绑定信息。绑定的过程需要单点登录管理应用服务器到应用系统服务器上验证用户提供的该应用系统中原有账号和密码,应用服务器均以相同的Web Service接口提供该功能支持。

3.2 用户单点登录流程

   之后以用户单点登录管理应用和令牌传输识别的标准来实现用户单点登录流程。

1、用户访问应用系统。

图 3.3 用户单点登录流程 - 步骤一


2、应用系统如果检查到用户没有在自己的服务器登录,则将用户请求重定向到单点登录服务器上。(使用重定向就可以处理各服务器跨域的情况)

图 3.4 用户单点登录流程 - 步骤二


3、单点登录服务器检查到用户已经单点登录(如果用户没有单点登录则要求用户登录,登录标志存储为客户端浏览器的Cookie),找到该用户在相应应用系统上绑定的账号。

图 3.5 用户单点登录流程 - 步骤三

4、单点登录服务器根据第三步的结果生成用户令牌,重定向回应用系统。

图 3.6 用户单点登录流程 - 步骤四

5、应用系统接收统一格式的用户令牌,取得用户在本系统上的登录账号,将用户在本系统上状态置为登录,返回用户请求访问的页面。

图 3.7 用户单点登录流程 - 步骤五

 

  如果用户在访问应用系统之前已经在单点登录服务器上登录过,第二步到第四布对用户来说就是透明的,用户感觉只是向应用系统发出了访问请求,然后得到了页面反馈。


4 实现

(略)

5 总结

  本方案设计的用户单点登录系统做到了:

  • 真正了实现单点登录、全网访问,方便用户的使用过程。
  • 各系统之间耦合度低,应用系统的改造不破坏其固有流程和结构,整个系统的实施过程安全平滑。
  • 统一了单点登录服务器到应用服务器的用户认证信息访问标准,统一了令牌安全加密的传输和识别标准,为将来更多应用系统提供了统一的单点登录框架。
  • 整合了过去分散在各应用系统中虽然有内在关联却难以判别的用户信息资源,为更进一步的用户个性化服务打下了基础。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_850475.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高并发高流量网站架构

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!Web2.0的兴起,掀起了互联网新一轮…

大众点评网的网站架构

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!大众点评网由张涛创建于2003年4月&#xff0…

国外java开源网站聚合

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!sourceforge http://www.sourceforge.netjav…

京东商城网站服务器分析

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!京东商城是专业的数码网上购物商城,主要产品…

针对中小型网站 3000人左右/15分钟 的服务器架构

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!本文涉及的服务器构架主要针对3000人左右/15…

阿里巴巴网站架构

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!阿里巴巴为全球领先的B2B电子商务公司&#…

20个仿Quora的免费问答网站程序

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!接触网站制作和运营将近9年了,还…

政府网站防篡改解决方案

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!政府网站防篡改解决方案 互联网的出现…

网站分析基础及KPI实践

原文转自:http://www.techxue.com/portal.php?modview&aid148d 一:网站分析是什么? 网站分析(Web Analytics)即网站访客行为分析,通过对网站数据进行定量和定性的分析,来不断驱动和提高访问者在网站中的体验,并将访客转…

【转】30套最好的网站开发与设计中使用的小型图标

转载自:http://blogread.cn/it/article/1836?fwb1 在为您的网页设计或应用程序挑选图标的时候,您所需要的不仅仅只是为了完美地传达一个简单且悦目的复杂的功能,他们也应该有一定的统一标准,所依赖的图标就是其中一种方式。找到一…

Docker快速搭建WordPress博客网站

WordPressWordPress是一个非常著名的PHP编写的博客平台,发展到目前为止已经形成了一个庞大的网站平台系统。在WP上有规模庞大的插件和主题,可以帮助我们快速建立一个博客甚至网站。 在Windows上可以非常方便的安装WordPress,因为IIS上集成了W…

asp.net网站统计(转)

今天在 我在所的网站上加了一个简单的网站统计如图所示:鼠标放上去可以这样显示: 这就是今天做的简单的网站统计. 现在就来讲讲,是怎么实现的.我用的asp.net 2003 版本. 文章总数,文件总数就是读取数据库的操作,在这里就不说了. 对与总访问量,我是将这个参数存在count.xml…

程序员常用的网站(个人笔记)

1.CSDN -专业IT技术社区(https://www.csdn.net/) 2.51CTO-专注于IT人职业成长平台(http://www.51cto.com) 3、博客园-开发者的网上家园(https://www.cnblogs.com/) 4、Github-全球领先的软件开发平台&am…

网站改版了

web开发分享改版了。 求建议啊。 转载于:https://www.cnblogs.com/youqu/p/3617476.html

Java爬虫之抓取一个网站上的全部链接

前言:写这篇文章之前,主要是我看了几篇类似的爬虫写法,有的是用的队列来写,感觉不是很直观,还有的只有一个请求然后进行页面解析,根本就没有自动爬起来这也叫爬虫?因此我结合自己的思路写了一下…

MVC5 网站开发之七 用户功能 1、角色的后台管理

角色是网站中都有的一个功能,用来区分用户的类型、划分用户的权限,这次实现角色列表浏览、角色添加、角色修改和角色删除。 目录 奔跑吧,代码小哥! MVC5网站开发之一 总体概述 MVC5 网站开发之二 创建项目 MVC5 网站开发之三 数据…

如何用Spring Boot开发网站?——个人博客网站(无需积分下载)

源码地址:无需积分即可下载,觉得有用随手给个赞吧,github地址在下方 功能结构图: 运行截图: GitHub:https://github.com/LIANYCL/myblog 如何运行代码 导入到IDEA后 第一步 配置数据库连接 修改applic…

网站开发

两人一组,分别完成网站的前端与后台的操作。 实现了页面跳转、登录、注册等功能。 点击课程后,出现课程信息 登录后才能购买相关课程 效果如下: 在网站开发中,有对数据库的访问,增加了许多难度,尤其是在注册…

XHTM这个国际标准设计语言,还可以设计网站,哇!

目录 CSSDIV网站设计的优势和问题 CSSDIV网站设计的优势 CSSDIV网站设计的优势和问题 XHTM是目前国际上倡导的网站标准设计语言,因为XHTML网站设计语言具有的基本特点,这种CSSDIV模式的网站设计具有一定的优势,不过目前在网站建设应用中CSSD…

CSS+DIV网站设计的问题,以下的几点,一个比一个严重!

目录 CSSDIV网站设计的问题 对于CSS的高度依赖 CSS文件异常 浏览器兼容性问题 搜索引擎优化 CSSDIV网站设计的问题 尽管CSSDIV具有一定的优势,不过现阶段CSSDIV网站建设存在的问题也比较明显,主要表现在: 对于CSS的高度依赖 第一&#…