sso

SSO单点登录

匿名 (未验证) 提交于 2019-12-03 00:26:01
import com . alibaba . fastjson . JSON ; import io . jsonwebtoken . impl . Base64UrlCodec ; import org . apache . commons . lang3 . StringUtils ; import org . springframework . stereotype . Component ; import org . springframework . web . method . HandlerMethod ; import org . springframework . web . servlet . handler . HandlerInterceptorAdapter ; import javax . servlet . http . HttpServletRequest ; import javax . servlet . http . HttpServletResponse ; import java . io . UnsupportedEncodingException ; import java . net . URLEncoder ; import java . util . Map ; @Component public class

sso单点登录原理详解(最后解说的比较好)

匿名 (未验证) 提交于 2019-12-03 00:21:02
yale cas可以百度一下,这是学习cas后的一点总结,以备日后使用! 安全性: 用户只须在cas录入用户名和密码,之后通过ticket绑定用户,在cas客户端与cas校验是通过ticket,并不会在网上传输密码,所以可以保证安全性,密码不被窃取 原理:1个cookie+N个session CAS创建cookie在所有应用中登录时cas使用,各应用通过在IE创建各自的session来标识应用是否已经登录。 Cookie:在cas为各应用登录时使用,实现了只须一次录入用户密码 Session:各应用会创建自己的session表示是否登录 登录 1. CAS 登录时处理: 第一步:cas往浏览器增加cookie(TGC) CAS向浏览器送回一个所谓的“内存cookie”。这种cookie并不是真的保存在内存中,而只是浏览器一关闭,cookie就自动过期。这个cookie称为“ticket-granting cookie”,用来表明用户已经成功地登录。 这个Cookie是一个加密的Cookie,其中保存了用户登录的信息。用于以后其它应用客户端登录。 第二步:cas同时创建一个ticket重定向到原来的cas客户端 认证成功后,CAS服务器创建一个很长的、随机生成的字符串,称为“Ticket”。随后,CAS将这个ticket和成功登录的用户,以及服务联系在一起

SSO单点登录登出

匿名 (未验证) 提交于 2019-12-02 23:41:02
SSO单点登录 单点登录是指用户在某个应用系统上登录之后,进入其子应用或相关应用系统可以免去登录步骤,从而实现一次登录,到处操作。这次项目我所负责的正好是单点登录功能模块,所以来更新下实际项目中SSO的实现流程,我们要实现的效果是,现在有业务服务器a.com和b.com,还有SSO服务器sso.com,在a.com上完成登录操作之后访问b.com时是已登录状态。 * 1.用户首次访问a.com/user时,到a.com服务器获取不到session * 2.给用户弹出一个SSO的登录页面sso.com/login.html,这个页面会带上两个参数,分别是开发者平台映射值key(即某个业务服务器在SSO所映射的key)和回调地址redirect(即登录成功之后跳转到的url,一般是所发起业务服务器开放的路由) * 3.用户输入账号密码之后到SSO服务器上进行身份校验,若校验成功则给用户生成一个ticket,并将该ticket值及用户基本信息一起创建SSO服务器session * 4.选择某种加密方式对该请求的session进行加密之后生成一个token值,然后在回调地址redirect里带上token参数并跳转回去a.com服务器。 * 5.a.com对token参数进行解析后拿到用户基本信息和ticket值,相应地初始化本地session并将ticket值也记录下来。 * 6

统一身份认证和单点登录概念研究

匿名 (未验证) 提交于 2019-12-02 22:56:40
在研究、建设单位信息系统的集成和登录时,自然想到了统一身份认证和单点登录,首先遇到了这样的问题,统一身份认证和单点登录的概念是什么,是不是某一个领域的术语,是不是有相应的标准和协议以及相关的解决方案,这让我对这两个经常关在嘴边的、耳熟能详的名称的来源产生了好奇。 先从百度百科中可以查到统一身份认证的定义:所谓身份认证,就是判断一个用户是否为合法用户的处理过程。最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确。复杂一些的身份认证方式采用一些较复杂的加密算法与协议,需要用户出示更多的信息(如私钥)来证明自己的身份,如Kerberos身份认证系统。 身份认证一般与授权控制是相互联系的,授权控制是指一旦用户的身份通过认证以后,确定哪些资源该用户可以访问、可以进行何种方式的访问操作等问题。在一个数字化的工作体系中,应该有一个统一的身份认证系统供各应用系统使用,但授权控制可以由各应用系统自己管理。 中文名 统一身份认证 外文名 uniform identity authentication 释 义 判断一个人是否为合法用户的过程 简 称 IDS 再查SSO的解释: SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统

SSO 单点登录总结(PHP)

匿名 (未验证) 提交于 2019-12-02 22:10:10
本篇文章根据个人理解的知识整理汇总,如有不足之处,请大家多多指正。 单点登录(SSO――Single Sign On)的应用是很普遍的,尤其在大型网站系统中,比如百度,登录百度账号和,再转到百度经验、百度贴吧等是不用重新登录的。本文将从 cookie 和 session 基础详细介绍单点登录的原理,代码实现为 PHP。 Cookie Cookie 是由客户端访问服务器时服务器发送给客户端的特殊信息,且这些信息以文本文件的方式存储在客户端。第一次访问服务器时,服务器会在 HTTP 响应头(Response Header)返回 Cookie 信息。客户端保存 Cookie 信息之后,下次访问服务器时,HTTP请求头(Request Header)会包含 Cookie 信息。 简单的说: 服务器不认识访问它的客户端,为了识别它们,就给每个访问它的客户端一个口令,服务器通过口令识别这些客户端。 注意: 不是访问每个服务器都会返回 Cookie 的,只有服务器中有设置 Cookie ,才会返回给客户端。 在本地服务器下的 test.php 中设置 Cookie <?php // Cookie 是 HTTP 标头的一部分,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似 setcookie('testCookie', 'this

单点登录(SSO)工作原理

拥有回忆 提交于 2019-12-02 22:07:56
单点登录(SSO)工作原理 一、单点登录的介绍 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 例如:百度旗下有很多的产品,比如百度贴吧、百度知道、百度文库等,只要登录百度账号,在任何一个地方都是已登录状态,不需要重新登录。 当用户第一次访问应用系统的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候,就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。 要实现SSO,需要以下主要的功能: 所有应用系统共享一个身份认证系统。 统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。 所有应用系统能够识别和提取ticket信息 要实现SSO的功能,让用户只登录一次

【转】SSO单点登录,原理、实现方法

独自空忆成欢 提交于 2019-12-02 19:02:23
最近看到一个需求,有a、b两个网站,在a中登录后,又登录b时,就跳过登录环节,直接使用a站点的帐号进入。 经过研究,发现常用方法有使用iframe的,下面我一步一步的说一下,整体的做法以及思路。 1.在a站点方法中,生成b站点的免登陆url,并返回给登录后的页面。 2.在a站点登录后的首页,用js使用隐藏的iframe,打开上一步返回的b站点的免登url,打开后会生成cookie。 3.在b站点登录,实现免登。 大体是这个思路 来源: https://www.cnblogs.com/fanmiaolan/p/11759053.html

web系统认证与鉴权中的一些问题

谁都会走 提交于 2019-12-02 07:08:56
认证鉴权系统的初心: 空间管理: 1.他是 谁 ?   他登陆了没有? 2.他要做什么? 2.1 他要使用 什么 功能 ?   他是否有这个功能的权限. 2.2 他要使用这个功能做什么 操作 ?   他是否有这个功能的这个操作权限? 3. 这个 数据 是他的吗?. 时间管理: 1.他还是之前登陆那个人吗?   空闲计时器机制。 2.现在还应该给他权限吗?   会话有效期机制。 其他问题: SSO多系统单点登陆情况下的难题: 1. 通过SSO进入了多个系统,如何退出单个系统。 2. 来源: https://www.cnblogs.com/-outman/p/11735880.html

京东SSO单点登陆实现分析

人盡茶涼 提交于 2019-12-02 05:56:40
京东的sso流程: 初始访问状态: cookies: http请求: 1.在首页点击登陆,跳转至passport.360buy.com,给予验证cookie alc( 可以试试在提交登陆信息前删除该cookie ) cookies http请求 2.填写用户名密码,提交登陆,验证alc,登陆成功则给予sso的cookie ceshi3.com,跳转至首页 cookies: 3.首页异步ajax,向passport.360buy.com发起hello请求,hello请求返回json对象a,a包含sso(url地址数组,含请求参数) http请求: 发起hello请求的脚本如下: 点击( 此处 )折叠或打开 < script type = "text/javascript" > ( function ( $ ) { $ ( "#shortcut .menu" ) . Jdropdown ( { delay : 50 } ) ; var helloUrl = window . location . protocol + "//passport.360buy.com/new/helloService.ashx?m=ls" ; jQuery . ajax ( { url : helloUrl , dataType : "jsonp" , scriptCharset : "gb2312" ,

利用Spring Security 3.2的remember-me搭建SSO

百般思念 提交于 2019-12-02 05:56:16
回顾 在上一篇文章,我实现了Spring Security3.2搭建的第一个网站应用firstWeb. 进阶-使用Spring Security3.2搭建LDAP认证授权和Remember-me 。 而在更早的时候,我有使用Apache+tomcat搭建cluster, Apache httpd与tomcat集群 。接下来,我将利用之前的作品,继续向更远的地方前进。 提纲 为firstWeb应用创建cluster。 创建并部署一个新的应用secondWeb。 使用Remember-me机制实现firstWeb与secondWeb的SSO。 架构示意图 此图是为最终形态而画的,今天的实验并不涉及CAS,请忽略CAS。 由上图可见,Apache作为一个逆向代理,提供两个虚拟主机,两个虚拟主机均在 .test.com 域中。其中一个虚拟主机为cluster, Apache需要为其提供负载平衡服务。另外,Apache开启了SSL。 所有Apache的配置可以在此下载: http://pan.baidu.com/s/1i37fUFb 由于之前的文章已经有配置好OpenLDAP,OpenSSL,所以本文将在此基础上搭建网站。想从头开始的请往前翻。 FirstWeb集群 FirstWeb是我们在上一篇文章所产生的应用,如果需要将FirstWeb部署为cluster的话,需要四个步骤: