项目技术总结二之SSO单点登录

2024-08-26 00:32

本文主要是介绍项目技术总结二之SSO单点登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     中期验收结束后就一直很想写这篇博客,因为我可以说是其中出丑出的最多的,但是我也是成长的最多的,这次验收,我们的所有系统没有实现单点登录,所以当时师哥跟我说的时候我就说因为CAS没有加上我们就没有用,但是当时师哥问了我一个问题就是什么是CAS,我说就是单点登录用的,但是当时说的很没有底气,因为我也是之前听负责这部分研究人员询问过,所以在寒假的时候我就查找了关于这部分的知识!

     首先我们先弄清楚几个概念:SSO(单点登录)、CAS

     SSO:就是我们说的单点登录(Single Sign On),其实说白了就是登录之后让浏览器记住用户,在构建复杂的门户时,每个开发人员都要面对这个问题。因为门户需要与后端资源集成,而每个后端资源都有自己的身份验证需求,所以门户常常必须向用户提供单点登录特性,即登录一次,就可以向所有网络资源验证用户的身份!

    CAS:CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,我们的系统下分为5个小系统,每个小系统下又是有很多小的模块儿,我们的使用的框架是一个独立的框架,我们在里面插入各种组件然后实现各种的功能,而CAS也是一样的是一个独立的框架是一个已经封装好可以直接使用的框架,他跟工作流是一样的是已经封装好的框架我们可以直接使用的框架然后就可以实现我们想要的功能。

   具体实现:

      我们实现的是注册页面登录之后,我们使用cookies将信息把信息保存到本地,然后登录到其他门户就可以经过验证中心验证,那么这里我们就用到了ajax的异域调度,我们知道ajax实现异步编程的那么异域调度又是什么呢?

    首先要介绍的就是什么是跨域,其实就是跨域名,我们知道网易的门户,如果你登录博客之后会有一个mail.163.com,而博客呢又是blog.163.com,但是我们知道我们使用的是一个用户名,但是我们能够实现域名的跨越的调度,这就是实现的ajax跨域的调度。

    我们一般使用ajax在前端接收传一个URL后面使用json来接收,那么这次使用的就是jsonp的来进行处理了(具体的见上一篇博客项目技术总结一之JSONP实现跨域调度)!

    下来就是拿我们的项目为例:

     

  这里的应用系统可以看成我们的子系统认证中心可以看成是CAS的服务端!

    

     

这篇关于项目技术总结二之SSO单点登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1107032

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

JWT + 拦截器实现无状态登录系统

《JWT+拦截器实现无状态登录系统》JWT(JSONWebToken)提供了一种无状态的解决方案:用户登录后,服务器返回一个Token,后续请求携带该Token即可完成身份验证,无需服务器存储会话... 目录✅ 引言 一、JWT 是什么? 二、技术选型 三、项目结构 四、核心代码实现4.1 添加依赖(pom

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Python中高级文本模式匹配与查找技术指南

《Python中高级文本模式匹配与查找技术指南》文本处理是编程世界的永恒主题,而模式匹配则是文本处理的基石,本文将深度剖析PythonCookbook中的核心匹配技术,并结合实际工程案例展示其应用,希... 目录引言一、基础工具:字符串方法与序列匹配二、正则表达式:模式匹配的瑞士军刀2.1 re模块核心AP

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结