精华内容
下载资源
问答
  • CAS框架单点登录原理解析

    千次阅读 2017-05-16 19:35:33
    CAS框架:CAS(Central Authentication Service)是实现SSO单点登录框架。CSA中包括三个:A系统,B系统,CAS认证中心 用户首次登录时流程如下: 1)、用户浏览器访问系统A需登录受限资源,此时进行登录检查,发现...

    单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    CAS框架:CAS(Central Authentication Service)是实现SSO单点登录的框架。

    这里写图片描述

    CSA中包括三个:A系统,B系统,CAS认证中心
    用户首次登录时流程如下:
    1)、用户浏览器访问系统A需登录受限资源,此时进行登录检查,发现未登录,然后进行获取票据操作,发现没有票据。
    2)、系统A发现该请求需要登录,将请求重定向到认证中心,获取全局票据操作,没有,进行登录。
    3)、认证中心呈现登录页面,用户登录,登录成功后,认证中心重定向请求到系统A,并附上认证通过令牌,此时认证中心同时生成了全局票据。
    4)、此时再次进行登录检查,发现未登录,然后再次获取票据操作,此时可以获得票据(令牌),系统A与认证中心通信,验证令牌有效,证明用户已登录。
    5)、系统A将受限资源返给用户

    已登录用户首次访问应用群中系统B时:
    1)、浏览器访问另一应用B需登录受限资源,此时进行登录检查,发现未登录,然后进行获取票据操作,发现没有票据。
    2)、系统B发现该请求需要登录,将请求重定向到认证中心,获取全局票据操作,获取全局票据,可以获得,认证中心发现已经登录。
    3)、认证中心发放临时票据(令牌),并携带该令牌重定向到系统B。
    4)、此时再次进行登录检查,发现未登录,然后再次获取票据操作,此时可以获得票据(令牌),系统B与认证中心通信,验证令牌有效,证明用户已登录。
    5)、系统B将受限资源返回给客户端。

    注意:
    系统A通过地址栏获取ticket的参数值ST票据,然后从后台将ST发送给CAS server认证中心验证,验证ST有效后,CAS server返回当前用户登录的相关信息,系统A接收到返回的用户信息,并为该用户创建session会话,会话id由cookie维护,来证明其已登录。

    在系统A登录成功后,用户和认证中心之间建立起了全局会话,这个全局会话就是TGT(Ticket Granting Ticket),TGT位于CAS服务器端,TGT并没有放在Session中,也就是说,CAS全局会话的实现并没有直接使用Session机制,而是利用了Cookie自己实现的,这个Cookie叫做TGC(Ticket Granting Cookie),它存放了TGT的id,保存在用户浏览器上。

    用户发送登录系统B的请求,首先会去Cookie中拿JSESSION,因为系统B并未登录过,session会话还未创建,JSESSION的值是拿不到的,然后将请求重定向到CAS认证中心,CAS认证中心先去用户浏览器中拿TGC的值,也就是全局会话id,如果存在则代表用户在认证中心已经登录,附带上认证令牌重定向到系统B。

    这三点总结中全局会话指的是浏览器cookie中的TGC的id与认证中心的会话;局部会话指的是每次认证中心认证成功后,浏览器与A系统,浏览器与B系统之间的会话,会话id保存在浏览器。

    具体测试环境搭建参考 https://wenku.baidu.com/view/1a797e43783e0912a2162a72.html

    展开全文
  • 3 CAS单点登录简介(针对实践选择的技术) 5 3.1 技术快速使用说明 5 3.1.1 设置服务器域名 5 3.1.2 生成证书(这里采用JDK自带的工具keytool) 5 3.1.3 为客户端JVM导入证书 6 3.1.4 将证书应用到Web服务器Tomcat 7...
  • 分布式单点登录框架 xxl-sso

    万次阅读 2018-04-11 09:33:43
    分布式单点登录框架 XXL-SSOXXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码,开箱即用。特性1、简洁:...

    分布式单点登录框架 XXL-SSO

    XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码,开箱即用。

    输入图片说明

    特性

    • 1、简洁:API直观简洁,可快速上手;

    • 2、轻量级:环境依赖小,部署与接入成本较低;

    • 3、单点登录:只需要登录一次就可以访问所有相互信任的应用系统。

    • 4、分布式:接入SSO认证中心的应用,支持分布式部署;

    • 5、HA:Server端与Client端,均支持集群部署,提高系统可用性;

    • 6、实时性:系统登陆、注销状态,全部Server与Client端实时共享;

    • 7、CS结构:基于CS结构,包括Server"认证中心"与Client"受保护应用";

    • 8、跨域:支持跨域应用接入SSO认证中心;

    官方文档

    技术交流

    展开全文
  • 由于目前公司需要为已经存在的项目统一单点登录,而技术选型后采用的是apereo的CAS。但是由于官方CAS文档的混乱性(你懂得!),并且其官方的实例和网上的实例教程都是基于传统的项目(也就是非前后端分离项目),...

    由于目前公司需要为已经存在的项目统一单点登录,而技术选型后采用的是apereo的CAS。但是由于官方CAS文档的混乱性(你懂得!),并且其官方的实例和网上的实例教程都是基于传统的项目(也就是非前后端分离项目),因此对于前后端分离的项目集成CAS的可参考的资料就比较少,于是就有了下面的前后端分离项目基于CAS的单点登录和单点登出流程图

    1. 单点登录流程
      登录流程

    2. 单点登出流程
      登出流程

    3. 以上为前后端分离项目基于CAS的单点登录和单点登出流程图。至于代码部分稍后会commit到github上,如有意向请持续关注本博客。

    展开全文
  • 单点登录SSO技术选型

    万次阅读 2018-03-28 19:03:44
    cas(单点登录) 解决问题:多个系统只需登录一次,无需重复登录 原理:授权服务器,被授权客户端 1、授权服务器(一个)保存了全局的一份session,客户端(多个)各自保存自己的session 2、客户端登录时判断...

     

     

     

    身份认证技术

    cas(单点登录)

    解决问题:多个系统只需登录一次,无需重复登录

    原理:授权服务器,被授权客户端

    1、授权服务器(一个)保存了全局的一份session,客户端(多个)各自保存自己的session

    2、客户端登录时判断自己的session是否已登录,若未登录,则(告诉浏览器)重定向到授权服务器(参数带上自己的地址,用于回调)

    3、授权服务器判断全局的session是否已登录,若未登录则定向到登录页面,提示用户登录,登录成功后,授权服务器重定向到客户端(参数带上ticket【一个凭证号】)

    4、客户端收到ticket后,请求服务器获取用户信息

    5、服务器同意客户端授权后,服务端保存用户信息至全局session,客户端将用户保存至本地session

    默认不支持http请求, 仅支持https 

    缺点: 

    cas单点登录技术适用于传统应用的场景比较多, 官方示例也是以javaWeb为准, 对微服务化应用,前后端分离应用,

    支持性较差

    oauth2(第三方登录授权)

    解决问题:第三方系统访问主系统资源,用户无需将在主系统的账号告知第三方,只需通过主系统的授权,第三方就可使用主系统的资源(

    如:APP1需使用微信支付,微信支付会提示用户是否授权,用户授权后,APP1就可使用微信支付功能了)

    原理:主系统,授权系统(给主系统授权用的,也可以跟主系统是同一个系统),第三方系统
    1、第三方系统需要使用主系统的资源,第三方重定向到授权系统
    2、根据不同的授权方式,授权系统提示用户授权
    3、用户授权后,授权系统返回一个授权凭证(accessToken)给第三方系统【accessToken是有有效期的】
    4、第三方使用accessToken访问主系统资源【accessToken失效后,第三方需重新请求授权系统,以获取新的accessToken】

    OAUTH2中的角色:

    • Resource Server: 被授权访问的资源
    • Authotization Server:OAUTH2认证授权中心
    • Resource owner : 资源拥有者
    • Client:使用API的客户端(如Android 、IOS、web app)

    工作流程如下:

     

    jwt (客户端token)

    Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519). 该token被设计为紧凑且安全的,

    特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从

    资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

    基于JWT认证协议,自己开发SSO服务和权限控制。 流程如下

     

    安全控制框架

     

    spring-security 

    spring-security 是spring家族的安全控制框架, 功能非常完善。  Spring Security是能够为J2EE项目提供综合性的安全访问控制解决方案的安全框架。

    它依赖于Servlet过滤器。这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理。 

    Spring Security对用户请求的拦截过程如下: 

    shiro

    Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密。 

    以下是你可以用 Apache Shiro 所做的事情: 

    1. 验证用户来核实他们的身份 
    2. 对用户执行访问控制,
      1. 判断用户是否被分配了一个确定的安全角色 
      2. 判断用户是否被允许做某事 
    3. 在任何环境下使用 Session API,即使没有 Web 或 EJB 容器。 
    4. 在身份验证,访问控制期间或在会话的生命周期,对事件作出反应。 
    5. 聚集一个或多个用户安全数据的数据源,并作为一个单一的复合用户“视图”。 
    6. 启用单点登录(SSO)功能。 内置了jasig-cas
    7. 为没有关联到登录的用户启用"Remember Me"服务

     

    市面上一些主流的技术搭配

    spring-security + oauth2 

    spring-security + cas   功能较弱,对前后端分离的项目支持不是很好

    shiro + cas 

    比较

    featuresspring-security + oauth2shiro + casjwt
    依赖
    • jdk
    • jwt
    • redis
    • redis
    • jdk
    • jwt
    自定义权限支持,用户登录后将用户的权限列表写入认证服务器支持 , 用户登录后将用户的权限列表写入客户端支持
    认证服务集群 CAS支持支持
    共享session支持支持支持
    前后端分离支持,参数始终携带access_token支持不够友好,需要改造CAS服务端支持
    缺点
    1. 功能较重,学习成本较高,无法短时间内了解的比较深
    2. 文档比较复杂
    1. 需要集成shiro 和 cas , 项目框架较重,
    2. cas官方提供的示例是仅支持javaWeb, 对前后端分离的项目支持不够友好,需要对CAS服务端进行改造 , 复杂性较高。

    需要自己基于JWT认证协议编写SSO服务,开发周期较长

    自己编写的话,需要

    文档文档完善文档完善
    优点
    • 功能完善,针对权限控制这一块提供了比较完善的解决方案
    • 集成该框架较简单,开发周期较短
    • spring家族产品,和spring-cloud系列的技术集成较简单,更加成熟
    • 可以搭建稳定的认证服务器。
    • 文档清晰,较简单
    • 功能完善,对权限,用户认证这一块提供的功能非常丰富
    • 集成shiro较简单,开发周期很短。
    可以自定义需求,灵活扩展
        

    sharedCode源码交流群,欢迎喜欢阅读源码的朋友加群,添加下面的微信, 备注”加群“ 。 

     

     

    展开全文
  • 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 很早期的公司,一家公司可能只有一...
  • SSO(单点登录技术漫谈

    千次阅读 2021-01-10 23:30:33
    在日常工作中,人类为了能进入各个系统,必须得通过帐号和密码进行登录验证(身份验证)后,才能获取到跟自己身份相符的信息。那么问题来了,这么多的系统,每个系统都搞一个密码的话,大多数用户都要记忆不少于10个...
  • 下面本文就通过介绍当前这两个主流的单点登录协议:微软Passport单点登录协议和自由联盟规范来进一步阐述单点登录技术。 一、微软Passport单点登录协议 1.1 微软Passport服务 提及微软Passport单点登录协议...
  • 单点登录的机制也一样,如下图所示,当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录(1);根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一...
  • .Net 单点登录(SSO)的原理与实现——单点登录是什么鬼 一、什么是单点登录   在一些公司中,可能需要按照公司业务将系统拆分,例如腾讯的产品有腾讯视频、QQ邮箱、QQ空间等;百度有百度贴吧,百度知道;阿里有...
  • smart-sso单点登录(一):简介

    万次阅读 多人点赞 2017-01-06 17:30:59
    开源地址 ...QQ交流群:454343484(群内含各种工具和文档下载) ...Java单点登录权限系统(二)—项目部署 简述 Smart定位用当下最流行的SSM(SpringMVC + Spring + Mybatis)技术,为您构建...
  • 如果你们公司想实现单点登录/单点注销功能,推荐使用开源的单点登录框架CAS.我们后面的章节也会带同学们快速搭建CAS Server和CAS Client的环境.二、条件如果没看前面章节的同学,请返回去观看这几章内容,不然这代码是...
  • CAS单点登录-简介(一)

    万次阅读 多人点赞 2017-09-07 21:48:05
    CAS单点登录-简介(一) CAS-5.1.3 什么是CAS?什么是单点登录? 带大家一起搭建sso、cas-management、spring boot admin、spring cloud config
  • CAS单点登录原理分析(一)

    万次阅读 多人点赞 2018-11-13 21:43:02
    一,业务分析 在分布式系统架构中,假设把上述的三个子系统部署在三个不同的服务器上。前提是用户登录之后才能访问这些子系统。那么使用传统方式,可能会...而使用单点登录就可以很好地解决上述的问题。 二,单...
  • PHP 单点登录SSO实现方式详解

    千次阅读 2018-03-21 11:55:26
    SSO( Single Sign On ),即单点登录...对于大型系统来说使用单点登录可以减少用户很多的麻烦。就拿百度来说吧,百度下面有很多的子系统——百度经验、百度知道、百度文库等等,如果我们使用这些系统的时候,每一个...
  • 原文地址:http://blog.csdn.net/puma_dong/article/details/12391479 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[+] ...开发语言及技术框架 后台:Java、MyS
  • SSO单点登录教程(一)多系统的复杂性

    千次阅读 2018-06-22 14:29:36
    作者:蓝雄威 叩丁狼教育高级讲师版权所有,转载请注明出处一、学习大纲1.回顾会话机制和登录机制. 因为学习单点登录需要对Cookie和Session有较深的理解,所以我们会...学习使用开源的单点登录框架CAS,我们使用cas-ov...
  • 单点登录系统原理与接入

    万次阅读 多人点赞 2018-03-12 16:15:18
    单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。以下是个人查询资料的借鉴及对接某...
  • 统一用户认证和单点登录和授权的原理与流程

    千次阅读 多人点赞 2019-02-02 13:58:09
    彻底搞懂统一用户认证和用户单点登录1. 前言2. 原理1. 统一用户认证介绍2. 单点登录原理介绍3. OAuth 2.0的统一用户认证1. OAuth 2.0协议和流程简介2. 授权码模式3. 简化模式4. 密码模式5. 客户端模式6. 授权码模式...
  • 浅析Web单点登录和SAML技术

    千次阅读 2010-09-26 13:34:00
    SAML(安全断言标记语言)已经被结构化信息标准促进组织(OASIS)批准为Web 单点登录的执行标准。SAML连同Web单点登录共同构成了现代网络环境中的必备条件。  美国在线和eBay是两个知名网站,拥有大量的...
  • 单点登录

    千次阅读 2010-09-26 14:28:00
    单点登录 单点登录(SSO,Single Sign-on)是一种方便用户访问多个系统的技术,用户只需在登录时进行一次注册,就可以在多个系统间自由穿梭,不必重复输入用户名和密码来确定身份。单点登录的实质就是...
  • 单点登录(Single Sign On)的理解

    千次阅读 2019-05-27 17:13:27
    本文内容引用于百度百科的单点登录词条,如有侵权,请联系我删除。 简介: 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录...
  • 单点登录SSO技术资料收集

    千次阅读 2006-11-30 22:46:00
    本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心,实现基于安全策略的统一用户管理、认证和单点登录,解决用户在同时使用多个应用系统时所遇到的重复登录问题。 随着信息技术和网络技术的迅猛发展...
  • CAS单点登录-配置中心(三)

    万次阅读 热门讨论 2017-09-09 17:24:50
    CAS单点登录-配置中心(三)本章计划及内容计划: 微服务概念 配置中心充当角色 搭建配置中心 cas连接配置中心 内容: 采用 spring cloud Dalston SR3搭建配置中心 采用 spring cloud config 1.3.2.RELEASE版本 采用...
  • 门户单点登录实现与应用集成技术

    千次阅读 2014-12-25 09:43:45
    WebSphere Portal 实现单点登录以应用集成技术规范,更好的满足客户的门户业务需求 随着企业门户平台的“平民化”,越来越多的工程师加入到门户项目实施的行列,但由于对门户技术的了解、使用的深度不同,...
  • 我所在的公司比较大,内部的各种管理系统和业务系统比较多,然而所有的系统都可以用公司的OA的员工工号和密码直接进行登录 (当然登录界面都是一个就是内部OA...后来请教了一下某个老员工,才知道单点登录这样的好...
  • CAS单点登录

    万次阅读 热门讨论 2010-04-21 09:05:00
    单点登录(Single Sign On , 简称 SSO )是目前比较流行...CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat 中的配置和使用,对于采用 CAS 实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 363,828
精华内容 145,531
关键字:

单点登录技术框架