sso

CAS服务器端集群

 ̄綄美尐妖づ 提交于 2020-12-24 04:20:54
CAS集群分为服务器端集群和客户端集群。 ##CAS服务器端集群## CAS服务器端集群主要解决两个问题: session同步和Ticket(票据)仓库共享。 实现环境的网络拓扑图如下: ###环境变量定义### CAS_HOME: CAS Server源码包目录(版本: 3.5.2) CATALINA_HOME: tomcat目录(版本: 7.0.42) ###配置session同步### 由于这里将CAS服务器端应用部署在tomcat上,因此session同步的配置方法和普通的tomcat session同步一样。这里给出一个例子: 在*$CATALINA_HOME/conf/server.xml*中的<Engine>节点添加如下的配置片段: <!-- lang: xml --> <Host> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className=

简单的四种方式单点登录实现(SSO)

假装没事ソ 提交于 2020-04-18 04:01:55
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 在做单点登录之前观察了很多网站,比如微软中国登录跳转到微软美国统一登录页面再跳转过来,淘宝天猫登录,京东登录。 方法1 登录成功之后通过 url带token参数跳转 比如阿里云登录万网的方式 方法2 在js里获取登录服务器的token jQuery.getScript("http://localhost:8081",function(){console.log(token);}); 方法3 登录成功之后 跳转到 (一站登录把全站都登录上) <script src='b.com/login?uid=xxxx&token=xxxxx'></script> <script src='c.com/login?uid=xxxx&token=xxxxx'></script> 方法4 登录成功之后 跳转到 (一站登录把全站都登录上) <iframe src="http://www.baidu.com"/> 思路: 比如A应用 使用 公共SSO登录 A应用先判断自个session是否为空,为空再用方法2js跨域获取SSO的信息,获取到之后再调用 A应用自己存session方法,登录成功刷新。

SSO之CAS单点登录详细搭建

为君一笑 提交于 2020-04-07 08:54:11
SSO之CAS单点登录详细搭建 : 环境说明: 同一个机器上环境如下: 操作系统:windows7 64位 JDK版本:1.7.0_80 web容器版本:apache-tomcat-7.0.70 64位 服务端:cas-3.5.2.1.zip 服务端现在地址:https://github.com/apereo/cas/archive/v4.2.3.zip 客户端:cas-client-3.3.3-release.zip 客户端下载地址:http://developer.jasig.org/cas-clients/ eclipse版本:eclipse-jee-luna-SR2-win32-x86_64.zip 1、将cas-3.5.2.1 cas-client-3.3.3 标准maven工程导入eclipse 打包编译; 2、修改本机 C:\Windows\System32\drivers\etc\hosts (CAS单点登录系统是基于JAVA安全证书的 https 访问,要使用CAS单点登录必须要配置域名, cas是不能通过ip访问的.) 附件-->记事本管理员权限编辑hosts文件,加入如下三行代码后保存。 127.0.0.1 server.flyer.com 127.0.0.1 client1.flyer.com 127.0.0.1 client2.flyer.com 解释:

SSO单点登录

走远了吗. 提交于 2020-04-06 07:35:15
前言:今天刚学完B站up主“楠哥教你学Java”前些日子的一个直播教学,通过录播跟着把代码敲了一遍,整理了一下。前半部分取自楠哥的笔记,后部分代码和思维导图自己归纳总结,代码细节今天是撸不完了,明后天在多研究几遍一些细节 单点登录 什么是单点登录:一处登录,处处登录,一处登出,处处登出。 用户只需要登录一次就可以访问所有相互信任的应用系统。 SSO Single Sign On 单点登录 企业业务整合解决方案 一票通 SSO 原理 当用户第一次访问淘宝的时候,因为还没有登录,会被引导到认证中心进行登录。 根据用户提供的登录信息,认证系统进行身份验证,如果通过,则登录成功,并返回给用户一个认证的凭据(token)。 当用户访问天猫时,就会将这个 token 带上,作为自己认证的凭据。 应用系统接收到请求后会把 token 送到认证中心进行校验,检查 token 的合法性。 如果通过校验,用户就可以在不用再次登录的情况下访问天猫了。 SSO 实现技术 Cookie 单点登录 使用 Cookie 作为媒介,存放用户凭证。 用户登录淘宝之后,返回一个 token,存入客户端的 Cookie 中,当用户访问天猫的时候,会自动带上 Cookie,这样 token 又传给了认证中心,进行校验。 分布式 Session 1、用户第一次登录时,将会话信息,写入分布式 Session。 2

深入浅出让你理解跨域与SSO单点登录原理与技术

Deadly 提交于 2020-03-31 11:12:08
一:SSO体系结构 SSO ​ SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 体系结构 ​ 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--token;用户再访问别的应用的时候就会将这个token带上,作为自己认证的凭据,应用系统接受到请求之后会把token送到认证系统进行校验,检查token的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了 。 Token(令牌) token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token并将此token返回给客户端,客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。 以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。 简单token的组成;uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名

单点登录SSO:概述与示例

谁说胖子不能爱 提交于 2020-03-30 08:43:37
/*--> */ /*--> */ 目录 概述 演示一:零改造实施单点登录 演示二: 单点注销 演示三:集成AD认证 演示四:客户端单点登录 演示五:移动端单点登录 单点登录SSO概述 本系列将由浅入深的,带大家掌握最新单点登录SSO方案选型,以及架构开发实战。系列将结合示例、源码以及演示视频,让大家能够直观、深入学习。 文末附5个满足不同单点登录场景的gif动画演示。本系列后继文章会深入它们的实现方式以及适用场景,大家也可以先观看揣摩其实现。 零改造实施单点登录 单点注销 集成AD认证 客户端单点登录 移动端单点登录 单点登录即Single Sign On(SSO)。它是大型政府OA、企事业单位OA的标配解决方案。它概言之就是在多个Web、桌面或移动应用系统中,用户只需要登录一次,就可以访问所有的应用系统。 从业十多年,为政府、电信、跨国公司顾问和实施的单点登录解决方案无数,深谙其痛点与关键。 和很多人直观猜测相反,单点登录方案的定制性很强。很多企业的单点登录,实施是有问题的。尤其是被一些软件产品的销售人员牵着走的企业,它的单点登录方案实施,从产品方案选型起就存在根本性问题。这些方案常常要求大量现有业务系统的改造(基于统一身份认证服务,采用OpenId,OAuth,SAML等技术创建和传递认证凭据),或者只是体验较差的类似浏览器自动填充账号密码的功能(如Oracle的ESSO)

CAS单点登录(一)——初识SSO

对着背影说爱祢 提交于 2020-03-18 15:50:07
某厂面试归来,发现自己落伍了!>>> 前言:其实好早就想把CAS的这一套知识整合一下,在工作上也应用到了这块,只是最近才在工作上接触到CAS,所以刚好把这些知识总结一下。这块可能是一个比较大的模块知识点,所以会有多篇文章进行逐一展开,笔者会尽量抽空更新,当然如果文章中存在错误,期望大家指出。 一、初识CAS 首先我们来说一下CAS,CAS全称为Central Authentication Service即中央认证服务,是一个企业多语言单点登录的解决方案,并努力去成为一个身份验证和授权需求的综合平台。 CAS是由Yale大学发起的一个企业级的、开源的项目,旨在为Web应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。 CAS协议至少涉及三方:客户端Web浏览器,请求身份验证的Web应用程序和CAS服务器。 它也可能涉及后端服务,如数据库服务器,它没有自己的HTTP接口,但与Web应用程序进行通信。 主要特征: 多种的协议的支持,包括CAS (v1、v2、v3)、SAML(v1、v2)、OAuth、OpenID、OpenID Connect和WS-Federation Passive Requestor 多种认证机制,可以通过JAAS,LDAP,RDBMS,X.509,Radius,SPNEGO,JWT,Remote,Trusted,BASIC,Apache Shiro

前后端分离基于Oauth2的SSO单点登录怎样做?

淺唱寂寞╮ 提交于 2020-03-17 12:55:11
一、说明 单点登录顾名思义就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统,免除多次登录的烦恼;本文主要介绍 跨域 间的 前后端分离 项目怎样实现单点登录,并且与 非前后端分离 的差异在那里?需要解决什么问题?。 前后端分离 的核心概念是后端仅返回前端所需的数据,不再渲染HTML页面,前端HTML页面通过AJAX调用后端的RESTFUL API接口并使用JSON数据进行交互 PS :关于 单点登录 主流的实现思路和原理请看文章《 Spring Security基于Oauth2的SSO单点登录怎样做?一个注解搞定 》 二、实现差异 跨域 间的 前后端分离 项目也是基于共享统一授权服务(UAA)的 cookie 来实现 单点登录 的,但是与 非前后分离 不一样的是存在以下问题需要解决 没有过滤器/拦截器,需要在前端判断登录状态 需要自己实现 oauth2 的 授权码模式 交互逻辑 需要解决安全性问题, oauth2 的 clientSecret 参数放在前端不安全 三、实现架构 下面是 前后端分离 项目的三个角色(前端WEB工程、后端API工程、授权中心UAA)间进行 登录 / 单点登录 时的交互逻辑架构图 跨域的单点登录原理 在《 Spring Security基于Oauth2的SSO单点登录怎样做?一个注解搞定 》中已经介绍过了这里就不展开说明了

从webseal单点到portal失败的经历

北城余情 提交于 2020-03-12 23:03:44
昨天被人抓到说一个ibm portal门户项目出问题了,已经有两天所有用户都不能登录访问系统。没办法,只好陪着找问题。 项目软件环境 :tam、portal、tds等 问题 :一次断电后,重启服务器,所有软件运行正常,启动都没报错,但是访问门户连接的时候,都被portal的登录页面拦截,意思就是从webseal不能单点登录到portal。 分析 :从这个现象我分析是webseal和potal的单点登录集成出了问题,所以检查了portal连接点的设置,也通过was自带的snoop查看了连接点的访问请求,从webseal到portal的时候,请求头中存在LtpaToken,按道理来讲portal拿到这个LtpaToken应该就能够实现单点登录了,但是登录失败。之后的分析过程,我没有在参与。 解决 :“可能是服务器的时间问题”,牛逼前同事强哥的一句话典型梦中人。果然webseal服务器和portal服务器的时间相差额9个小时。重新设置服务器时间后,门户访问正常了。 总结 :现在回过头想想,应该还是LtpaToken的问题,portal的was管理控制台上LtpaToken的过期时间是120分钟,webseal和portal服务器的时差有9个小时之多,自然从webseal生成的LtpaToken在portal服务器上就识别不了了。 附件 :门户was控制台上的ltpa设置截图 来源:

O2OA教程-业务开发与设计-系统应用权限控制-系统交互样例-登录认证 For Java

二次信任 提交于 2020-03-06 16:37:36
使用Java程序发送Http请求进行o2server登录认证 o2server向外提供了非常完整的restful服务,用户可以使用任何语言,编写代码发起http请求来进行o2server功能和业务的操作。大多数服务的调用,都需要进行登录认证,本篇详细介绍如何使用其他语言来发送http请求进行服务器认证。 (1)发送用户名使用SSO进行登录认证 此示例演示如何通过登录用户名,和SSO相关的配置,使用单点认证的方式进行O2Server的登录认证,获取xtoken信息 涉及到加密解密,请使用非中文的唯一标识进行登录 ,中文登录 有可能会有找不到用户的问题。 一、o2Server平台SSO配置 1、使用管理员(或者xadmin)登录O2OA 2、打开系统菜单->控制面板->系统设置->SSO配置 打开控制面板 进入系统设置 进入SSO配置 3、添加SSO配置 添加一个SSO配置 4、重启o2server 二、编写登录代码 完整代码内容: O.java package net . o2oa . demos ; import java . io . BufferedReader ; import java . io . IOException ; import java . io . InputStreamReader ; import java . io . PrintWriter ;