sso

php的sso单点登录实现方法

放肆的年华 提交于 2019-11-30 08:29:55
本文实例讲述了php的sso单点登录实现方法。分享给大家供大家参考。具体分析如下: 这里详细讲到了几点: 1、点击登录跳转到SSO登录页面并带上当前应用的callback地址 2、登录成功后生成COOKIE并将COOKIE传给callback地址 3、callback地址接收SSO的COOKIE并设置在当前域下再跳回到应用1即完成登录 4、再在应用程序需要登录的地方嵌入一个iframe用来实时检测登录状态,代码如下: index.php 应用程序页面: 复制代码 代码如下: <?php header('Content-Type:text/html; charset=utf-8'); $sso_address = 'http://XXXX.com/sso/login.php'; //你SSO所在的域名 $callback_address = 'http://'.$_SERVER['HTTP_HOST'] .str_replace('index.php','',$_SERVER['SCRIPT_NAME']) .'callback.php'; //callback地址用于回调设置cookie if(isset($_COOKIE['sign'])){ exit("欢迎您{$_COOKIE['sign']} <a href="login.php?logout">退出</a>");

SSO CAS 单点系列

时光毁灭记忆、已成空白 提交于 2019-11-29 19:11:31
在多系统应用群中,使用,例如,用户账户管理,用户应该有一个统一的账户,不应该让用户在每个子系统分别注册 登陆再分别登出。这就是我们所说的单点登陆问题,即SSO; SSO问题,时大中型web应用经常碰到的问题,是java架构师需要掌握的必备技能之一,中高级以上Web工程师都应该对它有所了解; http是一个无状态协议,在此之上实现会话管理,就需要额外的手段,1 带请求参数,侵入性较大,一般不使用,2 使用cookie,服务器通过HTTP响应创建好cookie后,浏览器就接收下来,下次请求会自动携带上返回给服务器,应用这个机制,我们可以实现应用层的登陆会话状态管理。 例如我们可以把登陆状态保存哎cookie中,这是客户端保存方式。会话信息在客户端,需要维护其安全性、徐娅加密文件、携带量变大,这样会影响http的处理效率,同时cookie的数据携带量也有一定的限制。 比较好的方式是 服务器端的保存 ,cookie只保存会话信息的句柄,即在登陆成功后,服务器端可以创建一个唯一登陆会话,并把会话标识ID通过cookie返回给浏览器,浏览器下次访问时会自动带上这个ID,服务器根据ID即可判断是此会话中的请求,从而判断出是该用户,这种操作直到登出销毁会话为止。 我们使用的web应用服务器一般都会提供这种会话基础访问,如Tomcat的Session机制。也就是说

单点登录(SSO)

徘徊边缘 提交于 2019-11-29 05:24:42
一、SSO(单点登录)介绍 SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。 下面对上图简要描述 用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数 sso认证中心发现用户未登录,将用户引导至登录页面 用户输入用户名密码提交登录申请 sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话,同时创建授权令牌 sso认证中心带着令牌跳转会最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统1 系统1使用该令牌创建与用户的会话,称为局部会话

基于SAML的单点登录介绍

自作多情 提交于 2019-11-29 01:07:15
http://blog.csdn.net/csethcrm/article/details/20694993 一、背景知识: SAML即安全断言标记语言,英文全称是Security Assertion Markup Language。它是一个基于XML的标准,用于在不同的安全域(security domain)之间交换认证和授权数据。在SAML标准定义了身份提供者(identity provider)和服务提供者(service provider),这两者构成了前面所说的不同的安全域。 SAML是OASIS组织安全服务技术委员会(Security Services Technical Committee)的产品。 SAML(Security Assertion Markup Language)是一个XML框架,也就是一组协议,可以用来传输安全声明。比如,两台远程机器之间要通讯,为了保证安全,我们可以采用加密等措施,也 可以采用SAML来传输,传输的数据以XML形式,符合SAML规范,这样我们就可以不要求两台机器采用什么样的系统,只要求能理解SAML规范即可,显 然比传统的方式更好。SAML 规范是一组Schema 定义。 可以这么说,在Web Service 领域,schema就是规范,在Java领域,API就是规范。 SAML 作用 SAML 主要包括三个方面: 1.认证申明

基于SAML的SSO介绍

限于喜欢 提交于 2019-11-29 01:06:56
Originated from: http://www.cnblogs.com/perfectdesign/archive/2008/04/10/saml_federation.html and page 4 of VMware-horizon-view-integration-horizon-workspace.pdf 一、背景知识: SAML即安全断言标记语言,英文全称是Security Assertion Markup Language。它是一个基于XML的标准,用于在不同的安全域(security domain)之间交换认证和授权数据。在SAML标准定义了身份提供者(identity provider)和服务提供者(service provider),这两者构成了前面所说的不同的安全域。 SAML是OASIS组织安全服务技术委员会(Security Services Technical Committee)的产品。 SAML(Security Assertion Markup Language)是一个XML框架,也就是一组协议,可以用来传输安全声明。比如,两台远程机器之间要通讯,为了保证安全,我们可以采用加密等措施,也可以采用SAML来传输,传输的数据以XML形式,符合SAML规范,这样我们就可以不要求两台机器采用什么样的系统,只要求能理解SAML规范即可

UUMS和SSO

被刻印的时光 ゝ 提交于 2019-11-28 21:49:15
本文以某新闻单位多媒体数据库系统为例,提出建立企业用户认证中心,实现基于安全策略的统一用户管理、认证和单点登录,解决用户在同时使用多个应用系统时所遇到的重复登录问题。 随着信息技术和网络技术的迅猛发展,企业内部的应用系统越来越多。比如在媒体行业,常见的应用系统就有采编系统、排版系统、印刷系统、广告管理系统、财务系统、办公自动化系统、决策支持系统、客户关系管理系统和网站发布系统等。由于这些系统互相独立,用户在使用每个应用系统之前都必须按照相应的系统身份进行登录,为此用户必须记住每一个系统的用户名和密码,这给用户带来了不少麻烦。特别是随着系统的增多,出错的可能性就会增加,受到非法截获和破坏的可能性也会增大,安全性就会相应降低。针对于这种情况,统一用户认证、单点登录等概念应运而生,同时不断地被应用到企业应用系统中。 统一用户管理的基本原理 一般来说,每个应用系统都拥有独立的用户信息管理功能,用户信息的格式、命名与存储方式也多种多样。当用户需要使用多个应用系统时就会带来用户信息同步问题。用户信息同步会增加系统的复杂性,增加管理的成本。 例如,用户X需要同时使用A系统与B系统,就必须在A系统与B系统中都创建用户X,这样在A、B任一系统中用户X的信息更改后就必须同步至另一系统。如果用户X需要同时使用10个应用系统,用户信息在任何一个系统中做出更改后就必须同步至其他9个系统

聊聊我在这家公司设计的SSO

こ雲淡風輕ζ 提交于 2019-11-28 07:24:38
最近小明遇到一个需求:需要将几个独立的系统(子系统)汇总到一个集中的系统(父系统)当中,当用户在父系统登录过后,再点击这几个子系统,就可以免登录跳转到任意一个系统。当时一听,duang~duang~就有很多方案涌进来(吹牛的),但只有下面这个方案得到了leader的肯定,如今已经在线上跑着了,接下来给大家复盘一下。 看完这个需求,大家是不是第一感觉就是:这不就是SSO(单点登录)系统嘛? 单点登录 (英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一退出(single sign-off)就是指,只需要单一的退出动作,就可以结束对于多个系统的访问权限。 是的,没错,小明接到这个需求以后,整体思路也是按着SSO设想的,但是细想之后,发现不能完全照搬,要考虑项目的实际情况:比如已知的几个子系统是之前的已经开发好的,不能大动干戈,需要平滑接入父系统,而且根据需求,SSO的功能也没必要全部实现,简而言之,就是一个 阉割版 的SSO。 小明只需要实现:用户在父系统账号密码登录后

单点登录的原理

时光总嘲笑我的痴心妄想 提交于 2019-11-28 07:05:48
一、单点登录的概念 1、什么是单点登陆 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 2、单点登录的引入 较大的企业内部,一般都有很多的业务支持系统为其提供相应的管理和IT服 务。 例如: 财务系统为财务人员提供财务的管理、计算和报表服务; 人事系统为人事部门提供全公司人员的维护服务; 各种业务系统为公司内部不同的业务提供不同的 服务等等。 这些系统的目的都是让计算机来进行复杂繁琐的计算工作,来替代人力的手工劳动,提高工作效率和质量。 这些不同的系统往往是在不同的时期建设起来 的,运行在不同的平台上;也许是由不同厂商开发,使用了各种不同的技术和标准。 如果举例说国内一著名的IT公司(名字隐去),内部共有60多个业务系统,这些系统包括两个不同版本的SAP的ERP系统,12个不同类型和版本的数据库系统,8个不同类型和版本的操作系统,以及使用了3种不同的防火墙技术,还有数十种互相不能兼容的协议和标准,这种情况其实非常普遍。每一个应用系统在运行了数年以后,都会成为不可替换的企业IT架构的一部分,如下图所示。 随 着企业的发展,业务系统的数量在不断的增加,老的系统却不能轻易的替换,这会带来很多的开销。其一是管理上的开销,需要维护的系统越来越多。

整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)

让人想犯罪 __ 提交于 2019-11-28 06:52:08
之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点: 一、oauth中的角色 client:调用资源服务器API的应用 Oauth 2.0 Provider:包括Authorization Server和Resource Server (1)Authorization Server:认证服务器,进行认证和授权 (2)Resource Server:资源服务器,保护受保护的资源 user:资源的拥有者 二、下面详细介绍一下Oauth 2.0 Provider Authorization Server: (1)AuthorizationEndpoint:进行授权的服务,Default URL: /oauth/authorize (2)TokenEndpoint:获取token的服务,Default URL: /oauth/token Resource Server: OAuth2AuthenticationProcessingFilter:给带有访问令牌的请求加载认证 三、下面再来详细介绍一下Authorization Server: 一般情况下,创建两个配置类,一个继承AuthorizationServerConfigurerAdapter