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

相关文章

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

MySQL基本查询示例总结

《MySQL基本查询示例总结》:本文主要介绍MySQL基本查询示例总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Create插入替换Retrieve(读取)select(确定列)where条件(确定行)null查询order by语句li

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

Spring 缓存在项目中的使用详解

《Spring缓存在项目中的使用详解》Spring缓存机制,Cache接口为缓存的组件规范定义,包扩缓存的各种操作(添加缓存、删除缓存、修改缓存等),本文给大家介绍Spring缓存在项目中的使用... 目录1.Spring 缓存机制介绍2.Spring 缓存用到的概念Ⅰ.两个接口Ⅱ.三个注解(方法层次)Ⅲ.

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.