安全
liyong1115
这个作者很懒,什么都没留下…
展开
-
CAS增加免登陆(Remember Me)功能
CAS可以通过配置,实现免登陆功能,在版本3.4.10 , 3.4.11中,具体需要在如下几个文件进行修改配置。1)deployerConfigContext.xml在 AuthenticationManager 的bean中增加 name="authenticationMetaDataPopulators"> class="org.jas原创 2013-05-16 17:36:38 · 1054 阅读 · 0 评论 -
CAS总结之集群环境篇
CAS的集群环境,包括CAS的客户应用是集群环境,以及CAS服务本身是集群环境这两种情况。在集群环境下使用CAS,要解决两个问题,一是单点退出时,CAS如何将退出请求正确转发到用户session所在的具体客户应用服务器,而不是转发到其他集群服务器上,二是解决CAS服务端集群环境下各种Ticket信息的共享。下面依次讨论在这两种集群环境下,CAS的使用情况。一 客户应用是集群环境 集转载 2013-05-13 19:45:19 · 910 阅读 · 0 评论 -
基于Redis的CAS集群
单点登录(SSO)是复杂应用系统的基本需求,Yale CAS是目前常用的开源解决方案。CAS认证中心,基于其特殊作用,自然会成为整个应用系统的核心,所有应用系统的认证工作,都将请求到CAS来完成。因此CAS服务器是整个应用的关键节点,CAS发生故障,所有系统都将陷入瘫痪。同时,CAS的负载能力要足够强,能够承担所有的认证请求响应。利用负载均衡和集群技术,不仅能克服CAS单点故障,同时将认证请求分布转载 2013-05-13 19:29:05 · 1373 阅读 · 0 评论 -
(CAS)学习笔记2
背景知识: 什么是SSO(Single Sign On)单点登录: 所谓单点登录是指基于用户/会话认证的一个过程,用户只需一次性提供凭证(仅一次登录),就可以访问多个应用。 目前单点登录主要基于Web的多种应用程序,即通过浏览器实现对多个B/S架构应用的统一账户认证。 JA-SIG(CAS)的设计愿景: 简单的说,CAS(Central Authentica转载 2013-05-09 11:13:06 · 750 阅读 · 0 评论 -
CAS之客户端使用——基于CAS的单点登陆的研究(下)
前言上一篇主要讲述了CAS的Server端的配置和使用,点击这里进行回顾。这篇则讲述CAS的客户端的使用,主要是JAVA客户端以及RESTFUL接口一、为WEB应用配置CAS认证1.给WEB应用所部署的Servlet容器打证书上一篇中讲过,使用HTTPS通信,做过一个证书库。这里还需要使用它。如果不是用HTTPS,就不用这一步了。caserver 生成的转载 2013-05-09 09:50:18 · 840 阅读 · 0 评论 -
CAS原理与配置-基于CAS的单点登陆的研究(上)
1 前言单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。CAS(Central Authentication Service)是一款不错的针对 Web 应用的单点登录框架,本文介绍了 CAS 的原理、协议、在 Tomcat转载 2013-05-09 09:49:02 · 920 阅读 · 0 评论 -
cas改造随笔
关键字:sso域名:cas.server.com登陆地址(spring web flow):https://cas.server.com/cas/login登陆地址(直接):https://cas.server.com/cas/directLogin退出地址:https://cas.server.com/cas/logout语言参数:locale=zh_C转载 2013-05-09 09:58:42 · 1038 阅读 · 0 评论 -
CAS实现原理
CAS实现原理:认证流程分析:1:用户第一次访问受保护的应用。受保护的应用通过其中配置的统一认证过滤器队请求进行过滤,未发现在session中有特定的用户信息,也未发现有ST参数。2:应用系统将认定用户第一次进入受保护的系统中,重定向到统一认证系统中特定的路径。通常该路径为 http:// 统一认证IP:端口/casserver/login3:统一认转载 2013-05-09 09:27:23 · 709 阅读 · 0 评论 -
CAS返回对象的更多属性Assertion.getPrincipal().getAttributes()
服务器,在返回给客户端用户信息时,默认只返回用户名(我们已经修改成ID).但有时我们需要更多的属性信息,如用户名。则应做如下修改:用户登录成功以后,CAS使用一个credentialsToPrincipalResolvers将credentials转成Principal对象,此对象只有一个实现类如下.SimplePrincipal的构造方法接收两个参数,一个是用户的id,一个为用户的其转载 2013-05-17 16:08:44 · 5574 阅读 · 0 评论 -
CAS-Client客户端研究--Cas20ProxyReceivingTicketValidationFilter
renew - specifies whether renew=true should be sent to the CAS server. Valid values are either "true" or "false" (or no value at all).gateway - specifies whether gateway=true should be sent to the C转载 2013-05-17 11:47:30 · 6729 阅读 · 0 评论 -
CAS-Client客户端研究--AuthenticationFilter
必要参数:casServerLoginUrl :定义CAS服务器的登录URL地址,例如: https://localhost:8443/cas/loginservice or serverName:service :发送到CAS服务器的service URL地址,例如https://localhost:8443/yourwebapp/index.html转载 2013-05-17 10:54:45 · 1036 阅读 · 0 评论 -
CAS-Client客户端研究--HttpServletRequestWrapperFilter
HttpServletRequestWrapperFilter其实作用很简单,就是在HttpServletRequest对象再包装一次,让其支持getUserPrincipal,getRemoteUser方法来取得登录的用户信息。实现起来比较简单,这个里面使用到一个类CasHttpServletRequestWrapper,其继承HttpServletRequestWrapper,通过给定As转载 2013-05-17 10:25:40 · 1308 阅读 · 0 评论 -
CAS-Client客户端研究--SingleSignOutFilter
<!-- 该过滤器用于实现单点登出功能,可选配置。 --> CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /*SingleSignOutFilter ,主要是在有ticket参数的时候,将s转载 2013-05-17 10:14:23 · 2498 阅读 · 0 评论 -
CAS-Client客户端研究--AssertionThreadLocalFilter
配置在客户端web.xml中: <!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName() --> CAS Assertion Thread Loca转载 2013-05-17 09:38:57 · 1702 阅读 · 0 评论 -
CAS集群解决方案
本方案的目的是搭建一个高可用,高可伸缩的中心认证服务。环境是CAS服务器是可任意扩展的,任意一个CAS服务节点均是等效的,CAS服务器的状态信息是集中存储的;CAS服务的客户端应用也是集群的环境,客户端应用服务器也是可任意扩展的,客户端应用的session状态信息是集中存储的,任意两个应用服务节点都是等效的;CAS服务器和客户端应用的状态信息集中存储在缓存服务器Memcached上。该方案具有以下转载 2013-05-13 19:46:54 · 1769 阅读 · 0 评论