项目技术总结二之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

相关文章

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

springboot项目打jar制作成镜像并指定配置文件位置方式

《springboot项目打jar制作成镜像并指定配置文件位置方式》:本文主要介绍springboot项目打jar制作成镜像并指定配置文件位置方式,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录一、上传jar到服务器二、编写dockerfile三、新建对应配置文件所存放的数据卷目录四、将配置文

怎么用idea创建一个SpringBoot项目

《怎么用idea创建一个SpringBoot项目》本文介绍了在IDEA中创建SpringBoot项目的步骤,包括环境准备(JDK1.8+、Maven3.2.5+)、使用SpringInitializr... 目录如何在idea中创建一个SpringBoot项目环境准备1.1打开IDEA,点击New新建一个项

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议