Liferay 的单点登录绝对是个难啃的骨头,更何况网上能搜到的基本都是些滥竽充数的文章,很不负责任. 于是在自己搭通单点登录一条线之后,决定整理下思路并写出来,希望各位能别重蹈覆辙. 本文不介绍概念.仅仅注重实现 软件版本号: Liferay : 6.1.1 CE GA2 OpenLdap for Windows :openldap-2.4.38-x86 Apache Directory Studio : Apache Directory Studio 2.0.0-M3 CAS : cas-s…
1. CAS 的引入的前提和好处 很早期的公司,一家公司可能只有一个应用,慢慢的应用开始变多,如员工报销系统.审核系统.学习系统...... 每个应用都要进行注册登录,退出的时候又要一个个退出,用户操作起来确实有点崩溃. 我们想要另一种登录体验,公司里面的应用只要一次注册,登录的时候只要一次登录,退出的时候只要一次退出,这样就完美了. CAS 算是最普遍.最通用的单点解决方案,但如果自家公司大牛云集,也不妨依据公司业务自己造轮子. JA-SIG CAS(Central Authenticatio…
1.简介     Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Liferay的用户名密码登录,但是用户可以选择“邮箱.屏幕名.用户账号”来作为登录名,如图: 注意,这里的用户账号是用户的创建是的id. (2)openSSO: 曾经Sun的一款开源产品,从很少的那一点点中文资料上来看,这个能实现我需要的那种SSO模式.从SUN被Oracle收购之后,Oracle便关闭…
一.单点登录流程 =====客户端====== 1.拦截客户端的请求判断是否有局部的session 2.1如果有局部的session,放行请求. 2.2如果没有局部session 2.2.1请求中有携带token参数 2.2.1.1如果有,使用HttpURLConnection发送请求校验token是否有效. 2.2.1.1.1如果token有效,建立局部的session. 2.2.1.1.2如果token无效,重定向到统一认证中心页面进行登陆. 2.2.1.2如果没有,重定向到统一认证中心页面…
目录 目录 1.介绍 1.1.什么是Crowd? 2.Crowd 的官网在哪里? 3.如何下载安装? 4.对 Crowd 进行配置 4.1.破解 Crowd 第一步 4.2.破解 Crowd 第二步,获取授权许可 4.2.Crowd 的安装 Crowd installation 4.3.数据库配置 Database configuration 4.4.Crowd 选项 Options 4.5.内部目录设置 Internal directory 4.6.设置默认管理员帐号 Default admi…
1.单点登录:多个系统,只需在一个系统登录以后,其他系统可以直接访问. 2.CAS(认证服务器),Apache Httpd,OpenLdap,OpenSSL(生成证书)几个工具实现 3.原理:登录通过认证服务器来进行,产生ticket,其他其他对ticket进行认证…
https://zh.wikipedia.org/wiki/轻型目录访问协议 轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息.[1] 目录服务在开发内部网和与互联网程序共享用户.系统.网络.服务和应用的过程中占据了重要地位.[2]例如,目录服务可能提供了组织有序的记录集合,通常有层级结构,例如公司电子邮件目录.同理,也…
      SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制.认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证:认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户.它是比较流行的企业业务整合的解决方案之一.       企业应用集成(EAI, Enterprise Application Integr…
单点登录是我比较喜欢的一个技术解决方案,一方面他能够提高产品使用的便利性,另一方面他分离了各个应用都需要的登录服务,对性能以及工作量都有好处.自从上次研究过JWT如何应用于会话管理,加之以前的项目中也一直在使用CAS这个比较流行的单点登录框架,所以就一直在琢磨如何能够把JWT跟单点登录结合起来一起使用,尽量能把两种技术的优势都集成到项目中来.本文介绍我从CAS思考得出的SSO的实现方案. 前言 其实CAS这个方案很好,非常强大,它最新的版本已经集成JWT了,所以要是不想自己开发单点登录的服务的话…
什么是SSO? 如果你已知道,请略过本节! SSO核心意义就一句话:一处登录,处处登录:一处注销,处处注销.即:在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 很多人容易把SSO与OAuth搞混.这里简单说明一下: OAuth也可简单总结为一句:基于各种懒和YY的原因,拿别人的登录系统来用. 至于官方说的,是一种授权协议,为网站用户授权第三方应用访问自己在网站…(此处省略N多字)可自行百度. SSO实现 SSO的实现方式虽然有很多种,但大的框架不会脱离下图结构的: 即所有…
前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括django\memcache\ldap等,如果有时间的话,后边会逐步更新博客分开介绍实现过程. sso的实现相对复杂,期间也调研了如cas+ldap,最后采取了一种学习成本较低的方式,即通过mc共享session方式实现单点登录.有兴趣并且懂java的同学可以自行了解cas.应该是一种更成熟的sso解…
前言 参考本系列之前的文章,我们已经搭建了ldap并且可以通过django来操作ldap了,剩下的就是下游系统的接入了,现在的应用场景,我是分了2个层次,第一层次是统一认证,保证各个系统通过ldap来维护统一的用户名和密码,第二层次就是sso单点登录,即一个系统登录,其他系统即是登录状态,一个系统登出,其他系统也自动登出,也就是我们登录公司内部的N个系统,其实总共只需要登录一次即可. 目前,django的下游系统可以接入单点,理论上,只要语言支持memcache客户端,通过session维持登录…
一.CAS是什么? CAS(Central Authentication Service)是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(支持WEB及客户端). CAS 开始于 2001 年, 并在 2004 年 12 月正式成为 JA-SIG 的一个项目. 二.主要特性  1.开源的.多协议的 SSO 解决方案: Protocols : Custom Protocol . CAS . OAuth . OpenID . RESTful A…
前言 继上一篇博文:可跨域的单点登录(SSO)实现方案[附.net代码]虽然实现了单点登录,也存在很多不合理的地方.很多热心的朋友也给出了很多指导性的意见,特别是 LoveCoder提出的意见. 在很多亲自操刀过单点登录的朋友看来,单点登录很简单啊,不过如此.但是还有很多如我一样刚刚接触过或者没有接触过单点登录的朋友却不清楚单点登录具体该怎么做.虽然网上单点登录的教程很多很多,大都是实现思路.实现原理,真正涉及到代码级别的实现细节却很少. 单点登录产生的原因是为了解决多个子系统共享登录状态的问题…
SSO简介 定义: 传统的单站点登录访问授权机制是:登录成功后将用户信息保存在session中,sessionId保存在cookie中,每次访问需要登录访问的资源(url)时判断当前session是否为空,为空的话跳转到登录界面登录,不为空的话允许访问. 单点登录是一种多站点共享登录访问授权机制,访问用户只需要在一个站点登录就可以访问其它站点需要登录访问的资源(url).用户在任意一个站点注销登录,则其它站点的登录状态也被注销.简而言之就是:一处登录,处处登录.一处注销,处处注销. 应用场景:…
前言 最近轮到我在小组晨会来分享知识点,突然想到单点登录,准备来分享下如何实现单点登录,所以有了下文.实现方案以及代码可能写得不是很严谨,有漏洞的地方或者错误的地方欢迎大家指正. 刚开始头脑中没有思路,直接在博客园里面看看别人是如何来实现的,看了几篇文章发现,发现解决方案有点问题,或者说不算实现了单点登录 名称定义 为了方便说明先说明几个文中出现的名词的含义: P站:统一登录授权验证中心,demo中 域名是www.passport.com:801 A站:处于不同域名下的测试网站,demo中 域名…
1.权限控制使用controller和 action来实现,权限方式有很多种,最近开发项目使用控制控制器方式实现代码如下 /// <summary> /// 用户权限控制 /// </summary> public class UserAuthorize : AuthorizeAttribute { /// <summary> /// 授权失败时呈现的视图 /// </summary> public string AuthorizationFailView…
写在前面的话 上次发布过一篇同样标题的文章.但是因为跨域方面做得不太理想.我进行了修改,并重新分享给大家. 如果这篇文章对您有所帮助,请您点击一下推荐.以便有动力分享出更多的"偷懒小工具" 目的 目的很明确,就是搭建单点登录的帮助类,并且是一贯的极简风格(调用方法保持5行以内). 并且与其他类库,关联性降低.所以,不使用WebAPI或者WebService等. 思路 因为上次有朋友说,光看见一堆代码,看不见具体思路.所以,这次分享,我把思路先写出来. 懒得看实现代码的朋友,可直接查看&…
Cas Server下载:http://developer.jasig.org/cas/ Cas Client下载:http://developer.jasig.org/cas-clients/ 测试环境: jdk:java version "1.8.0_60" tomcat:apache-tomcat-7.0.65 mysql:mysql5.5.40 CAS Server:cas-server-4.0.0-release.zip CAS Client:cas-client-3.2.1…
说到单点登录大家都很了解,一个站点登录其他域会自动登录. 单点登录SSO(Single Sign On)的方法有很多,比如:p3p.共享session.共享cookice.第三方OAuth认证. 这里模拟淘宝.天猫登录.是模拟噢,要做到安全就要进行很多安全验证RSA加密了,带签名的参数了等. 淘宝与天猫登录时都是在淘宝登录,登录后redirect跳转到各自的网站HTTP_REFERER. 本地模拟,MY淘宝:http://my-taobao.com:8080/      My天猫:http://…
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再输入 用户名和密码了. 单点登录类型: 1.具有相同一级域名的多个网站,以新浪为例,新浪首页实际上是一个导航页面,它提供了很多很多的旗下网站地址,比如 (1)新浪新闻: http://news.sina.com.cn/ (2)新浪科技:http://tech.sina.com.cn/ (3)新浪博客…
单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在MemberShip基础上做单点登录. 故这个单点登录系统需要能无缝集成到这些系统中的任何系统中,作为服务端. 下面我们来看看具体的实现步骤,没耐心看完的朋友可直接上github上查阅:(https://github.com/newmin/cms/blob/master/extend/Ops.Cms…
.NET基于Redis缓存实现单点登录SSO的解决方案 http://www.cnblogs.com/yinrq/p/5276628.html 共享cookie的方案 http://www.codeproject.com/Articles/27576/Single-Sign-on-in-ASP-NET-and-Other-Platforms…
jasig CAS项目本身就是一个完整的CAS单点登录服务 1.服务端需要把  认证处理类.用户属性返回值处理类 调整成我们自己处理类即可实现单点登录 2.java客户端需要引入cas-client-core客户端jar包,添加所需的过滤器即可(如果原项目具有验证登录的过滤器/拦截器,需要根据具体需要进行小调整) CAS4.0 参考文献: http://www.cnblogs.com/vhua/p/cas_1.html http://blog.csdn.net/frinder/article/d…
这些天一直在整O365单点登录的问题,其中涉及到了很多知识点,其中以ADFS,CA为主吧,IIS为辅.下面我就把这些天积累的一些经验写下来备用. 1. 申请证书不一定要通过“证书颁发机构Web注册”,直接在mmc控制台即可进行,解决办法见<使用非Web方式从CA申请证书>. 2. CA服务器安装完后,默认只有部分证书模板处于可用状态,解决办法见<使用非Web方式从CA申请证书>. 3. 如果通过http://server/certsrv的方式申请证书,则需要启用HTTPS,否则会报…
SSO 即 Single Sign On(单点登录).  一.二级域名之间的单点登录 不需要用到JSONP 或者 p3p 协议,直接使用 COOKIE 就行了,因为顶级域名相同就能实现 COOKIE 共享. 例如有两个项目,域名分别是 www.site1.com 和 mall.site1.com,分别对应的项目目录是 /site1/p3p 和 /site1_origin site1 的登陆页面 /site1/p3p/login.php <!doctype html> <html lang…
一.基本概念 最近公司的多个业务系统要统一整合使用同一个登录,这就是我们耳熟能详的单点登录,现在就NET基于Redis缓存实现单点登录做一个简单的分享. 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 普通的登录是写入session,每次获取session看看是否有登录就可记录用户的登录状态. 同理多个站点用一个凭证,可以用分布式session,我们可以用r…
引用自:http://blog.csdn.net/zuoluoboy/article/details/12851725 摘要: 单点登录(SSO)的技术被越来越广泛地应用到各个领域的软件系统当中.本文从业务的角度分析了单点登录的需求和应用领域:从技术本身的角度分析了单点登录技术的内部实现机制和实现手段,并且给出web-sso和桌面sso的实现.源代码和详细讲解:还从安全和性能角度对现有的实现技术进行进一步分析,之处相应的风险和需要改进的方面.本文除了从多个方面和角度给出了对单点登录(sso)的全…
1. 摘要 ( 注意:请仔细看下摘要,留心此文是否是您的菜,若浪费宝贵时间,深感歉意!!!) SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开源的有OpenSSO.CAS ,微软的AD SSO,及基于kerberos 的SSO等等--这些优秀的解决方案尽显开发及使用者的逼格,当然需求所致无谓好坏高低,满足实际之需才是王道! 本文并不讨论上述提到的方案的整合使用.或者复杂场景如:安全.防火墙.N 多个系统层叠调用这种"巨型项目"里…
单点登录:SSO(Single Sign On) 什么是单点登录:大白话就是多个网站共享一个用户名和密码的技术,对于普通用户来说,只需要登录其中任意一个网站,登录其他网站的时候就能够自动登陆,不需要再输入 用户名和密码了. 单点登录类型: 1.具有相同一级域名的多个网站,以新浪为例,新浪首页实际上是一个导航页面,它提供了很多很多的旗下网站地址,比如 (1)新浪新闻: http://news.sina.com.cn/ (2)新浪科技:http://tech.sina.com.cn/ (3)新浪博客…