cas-jbosscache实现集群认证

合集下载

cas session共享原理

cas session共享原理

cas session共享原理
CAS(Central Authentication Service)是一种单点登录协议,它允许用户一次登录就可以访问多个不同的应用程序。

CAS session
共享的原理主要涉及到认证和授权两个方面。

首先,CAS session共享的原理涉及到认证。

当用户进行登录时,CAS服务器会验证用户的身份,一旦用户身份验证成功,CAS服
务器会创建一个全局唯一的票据(ticket),并将该票据返回给用
户的浏览器。

用户在访问其他CAS客户端应用程序时,浏览器会携
带该票据向CAS服务器发起验证请求,CAS服务器会验证该票据的
有效性,如果有效则返回用户的身份信息给客户端应用程序,从而
实现了单点登录。

其次,CAS session共享的原理还涉及到授权。

一旦用户的身
份得到验证,CAS服务器会向客户端应用程序颁发一个授权令牌(service ticket),客户端应用程序可以使用该令牌来获取用户
的身份信息以及其他所需的授权信息。

这样,用户无需在每个应用
程序中重新输入用户名和密码,实现了用户身份信息的共享和授权
的统一管理。

总的来说,CAS session共享的原理主要是通过统一的认证和授权机制,实现了用户在多个应用程序之间的身份信息共享和单点登录。

这样可以提高用户体验,减少用户的重复登录操作,同时也方便了开发人员进行统一的身份认证和授权管理。

单点登录CAS与LDAP整合的实现

单点登录CAS与LDAP整合的实现

单点登录CAS与LDAP整合的实现单点登录(Single Sign-On,SSO)是一种身份验证和访问控制机制,允许用户使用一组凭据(如用户名和密码)登录到一个应用程序,然后在登录后访问其他应用程序而无需再次提供凭据。

这种机制的实现需要集成不同的身份验证系统,例如,CAS(Central Authentication Service)与LDAP(Lightweight Directory Access Protocol)。

CAS是一种基于Web的身份验证协议,它提供了一种单点登录解决方案,允许用户在一次登录后访问多个Web应用程序,并且不需要再次输入凭据。

CAS通过提供一个认证服务器来实现这一功能,该服务器负责验证用户的凭据,并生成一个票据(Ticket)以表示用户的身份。

LDAP是一种用于访问和维护分布式目录信息服务(Directory Information Services)的协议。

目录服务用于存储和组织用户和组的信息,包括用户名、密码和其他属性。

LDAP提供了一种标准化的方式来查找、添加、修改和删除目录条目,提供了对用户身份信息的集中存储和访问。

要将CAS和LDAP整合,首先需要配置CAS服务器以使用LDAP作为其用户存储和验证机制。

下面是实现此集成的步骤:1. 配置LDAP服务器:首先,需要在LDAP服务器上创建一个目录以存储用户和组的信息。

可以使用开源的LDAP服务器,如OpenLDAP或Microsoft的Active Directory。

2.配置LDAP属性映射:CAS需要将LDAP中的用户属性映射到CAS的用户模型中。

这些属性包括用户名、密码、姓名、角色等。

需要根据LDAP服务器的架构和CAS的用户模型进行正确的属性映射。

3.配置LDAP身份验证器:CAS使用一个或多个身份验证器来验证用户的凭据。

应该配置一个LDAP身份验证器来使用LDAP服务器进行用户身份验证。

4.配置CAS服务器:在CAS服务器上,需要配置CAS以使用LDAP身份验证器进行用户身份验证。

cas认证系统 使用方法 -回复

cas认证系统 使用方法 -回复

cas认证系统使用方法-回复CAS(Central Authentication Service)认证系统是一种常见的开源认证单点登录系统,广泛用于大型网络应用的用户认证和管理。

本文将详细介绍CAS认证系统的使用方法,并提供一步一步的指导。

第一步:环境准备在开始使用CAS认证系统之前,我们需要准备好运行该系统所需的环境。

首先,我们需要安装Java JDK(Java Development Kit)。

CAS认证系统是基于Java开发的,因此需要有Java环境的支持。

我们可以从Oracle 官方网站上下载适合自己操作系统的Java JDK,并按照其指引进行安装。

第二步:CAS服务器的部署和配置一旦我们准备好了Java环境,接下来我们需要部署和配置CAS服务器。

CAS服务器可以在各种平台上运行,例如Windows、Linux等。

在开始之前,我们需要下载最新版本的CAS服务器,可以从CAS官方网站上找到相关的下载链接。

将下载下来的CAS服务器解压缩到我们的目标目录中。

在解压缩完成后我们需要进入解压缩后的目录,并找到一个名为`cas.war`的文件。

将该文件拷贝到我们的Servlet容器(例如Tomcat)的webapps目录下。

接下来,我们需要进行CAS服务器的配置。

在CAS服务器的解压缩目录中,可以找到一个名为`cas.properties`的文件。

我们需要根据自己的需求修改该文件,例如更改CAS服务器的端口号、数据库连接信息等。

具体的配置项可以查询CAS的官方文档,以便根据实际需要进行配置。

完成上述步骤后,我们就可以启动CAS服务器了。

启动Tomcat服务器(或其他Servlet容器),CAS服务器将自动加载,并在日志中显示启动过程中的详细信息。

如果一切顺利,我们应该能够在浏览器中访问`第三步:应用程序的接入一旦我们成功部署和配置了CAS服务器,接下来我们需要将我们的应用程序接入CAS认证系统。

在开始之前,我们需要确保我们的应用程序已经部署在同一个服务器上,并且可以正常访问。

cas认证系统 使用方法 -回复

cas认证系统 使用方法 -回复

cas认证系统使用方法-回复CAS(Central Authentication Service)是一款用于认证和授权的开源软件。

它提供了一种安全的单点登录解决方案,能够使用户只需一次登录就可以访问多个应用程序。

在本文中,我们将一步一步地介绍如何使用CAS认证系统。

第一步:安装和配置CAS服务器首先,我们需要在服务器上安装和配置CAS服务器。

CAS服务器可以在各种操作系统上运行,如Windows,Linux和Mac OS。

您可以从CAS 官方网站或GitHub上下载最新的稳定版本。

安装完成后,我们需要配置CAS服务器。

打开CAS的配置文件,通常命名为cas.properties,根据您的需求进行相应的配置,如数据库连接,日志记录等。

确保配置文件中的所有必要参数都被正确设置。

第二步:集成CAS客户端在您的应用程序中集成CAS客户端是下一步。

CAS客户端允许您的应用程序与CAS服务器进行通信并验证用户凭据。

集成CAS客户端的方法有很多,具体的步骤可能因你使用的编程语言或框架而有所不同。

一般来说,您需要下载CAS客户端库,并将其添加到您的项目中。

然后,您需要在应用程序中配置CAS客户端,以指定CAS服务器的地址和其他必要的参数。

第三步:配置认证过滤器接下来,我们需要在应用程序中配置CAS认证过滤器。

认证过滤器将负责拦截所有的请求,并将用户重定向到CAS服务器进行认证。

如果用户已经登录,CAS服务器将返回一个令牌,该令牌将用于在应用程序中验证用户身份。

配置CAS认证过滤器的具体步骤也因应用程序的不同而有所不同。

一般来说,您需要在应用程序的Web.xml文件中添加相关的过滤器配置。

确保过滤器的URL模式与您想要拦截的URL匹配,并将过滤器映射到正确的URL模式。

第四步:集成认证和授权一旦用户通过CAS服务器成功认证,我们还可以使用CAS服务器来进行授权。

CAS提供了一些功能,允许您在用户登录时获取和验证用户信息,并基于这些信息进行权限控制。

JBossCache 讲解说明

JBossCache 讲解说明

JBossCache 讲解说明是什么?一个树形结构、支持集群、支持事务的缓存技术。

有什么作用?JBoss Cache是针对Java应用的企业级集群解决方案,其目的是通过缓存需要频繁访问的Java对象,提高应用的可用性并大幅度提升应用的整体性能。

JBoss Cache这样的分布式缓存扮演的是一个处于应用服务前端和数据库间的中间层的角色,提供对持久性数据状态在内存中的快速访问。

JBoss Cache能够确保缓存中的数据状态和数据库中的状态一致、及时更新数据状态、并且保证JVM不会出现堆溢出问题。

为什么不使用Map?很多人认为Map是考虑缓存的出发点(实际上,JSR-107 JCACHE专家组曾经在Map的基础上扩展实现javax.cache.Cache)。

尽管Map非常适合用来存储简单的键/值对,在缓存必需的其它特性上,它就难免有点黔驴技穷,比如内存管理(eviction)、钝化(passivation)和持续性、细粒度锁定模型(首先,HashMap根本不是线程安全的;而ConcurrentHashMap采用的锁是粗粒度级的,它甚至不允许非阻塞用户或多用户从map中读取数据)等。

而对于“合格的”缓存来说,它还需要具备一些“企业”特性,包括JTA兼容、附加侦听器等功能。

Map虽然是个好的起点,但如果需要实现或者管理我刚才提到的那些特性的话,选择缓存还是要比Map来得更合适一些。

JBossCache的缓存方式JBoss Cache提供两种缓存方式:核心缓存(TreeCache)和POJO缓存(TreeCacheAOP)核心缓存: 会直接把传递给它的数据存储在一个树型结构中。

键/值对被存储在树的节点上,出于复制或持续性的需要它们都被序列化了POJO 缓存: 则采用比较复杂的机制——利用字节码编织来内省(introspecting)用户类,并向用户类的域添加侦听器,一旦域值有任何变化,侦听器会立刻通知缓存。

JBOSS与CAS整合文档

JBOSS与CAS整合文档

JBOSS与CAS整合文档2014-06-20目录JBOSS与CAS整合文档 (1)所需软件 (3)JBOSS配置 (3)1. 生成服务端所需要的KEY (3)2. 配置JBOSS (3)3.发布WAR (3)4.服务器测试 (4)1. Myeclipse基本配置 (4)创建web project项目 (4)配置JBOSS服务器 (5)将新建的项目加入jboss中 (6)CAS与LDAP链接 (6)CAS客户端配置 (7)参考 (8)所需软件服务器版本:jboss4.2.3.GACas服务器版本版本:cas-server-3.3.2-releaseCas客户端版本:cas-client-2.0.11JDK:1.6+部署环境:windows xp professional sp3JBOSS配置1.生成服务端所需要的KEY打开CMD输入以前命令:keytool -genkey -alias my-alias-name -keyalg RSA -keystore keystore-file【需要配置JDK的环境变量】以上命令:my-alias-name为key的别名Keystore-file为key文件的名称执行以上命令后,将在当前目录生成一个名称keystore-file的KEY文件2.配置JBOSS打开JBOSS存方路径:%JBOSS_HOME%\server\default\deploy\jboss-web.deployer\server.xml%JBOSS_HOME%表示jboss存方的路径将Connector标签内容修改如下:<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"maxThreads="150" scheme="https" secure="true"clientAuth="false"sslProtocol="TLS"keystoreFile="E:/work/SAS/sasFile"keystorePass="********" />注释:keystoreFile为上面KEY文件生成的路径即文件名keystorePass为在生成KEY文件时生成的密码3.发布WAR打开cas-server-3.3.2文件夹下的\modules\cas-server-3.3.2.war将其放入%JBOSS_HOME%\server\default\deploy下4.服务器测试打开%JBOSS_HOME%\bin\run.bat文件成功启动后,访问:https://localhost:8443/cas-server-3.3.2/login出现以下界面表示配置成功:二.MyEclipse加入CAS服务端1.Myeclipse基本配置创建web project项目打开myeclipse文件,点击FILE->new->web project项目配置JBOSS服务器打开window->preferences->myeclipse->servers->jboss 4.x中填写相应字段将新建的项目加入jboss中点击myeclipse工具栏上图标为新增项目加入代码:将\cas-server-3.3.2\cas-server-webapp\src\main\webapp下所有的文件拷入到项目的WEB-ROOT下,将WEB-INF\classes文件拷入到src下启动测试CAS与LDAP链接加入:spring-ldap-core-1.3.2.RELEASE.jar、cas-server-support-ldap-3.3.2.jar包修改WEB-INF\deployerConfigContext.xml文件增加contextSource的Bean<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource"><property name="pooled" value="false"/><property name="url" value="ldap://172.22.134.147:389"/><property name="userDn" value="cn=root,DC=CD120,DC=CN"/><property name="password" value="cd120@#$"/><property name="baseEnvironmentProperties"><map><entry key="com.sun.jndi.ldap.connect.timeout" value="3000"/><entry key="com.sun.jndi.ldap.read.timeout" value="3000"/><entry key="java.naming.security.authentication" value="simple"/></map></property></bean>将:org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuth enticationHandler的Bean将其注释掉在其下面加入:<beanclass="org.jasig.cas.adaptors.ldap.FastBindLdapAuthenticationHandler"><property name="filter" value="uid=%u,cn=users,DC=CD120,DC=CN" /><property name="contextSource" ref="contextSource" /></bean>CAS客户端配置导出KEYkeytool -export -alias tomcat -keystore mydestore -file server.crtTomcat为上面创建的别名Mydestore上面生成的key文件Server.crt为生成的crt文件JDK中加入KEYkeytool -import -alias tomcat -file ./server.crt -keystore %JA V A_HOME%/jre/lib/security/cacerts%JA V A_HOME%为JDK存入的路径有空格用双引号饮食客户端项目配置项目的WEB-INF/web.xml<filter><filter-name>CAS Filter</filter-name><filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class><init-param><param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name><param-value>https://localhost:8443/cas/login</param-value></init-param><init-param><param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name><param-value>https://localhost:8443/cas/serviceValidate</param-value></init-param><init-param><param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name><param-value>localhost:8080</param-value></init-param></filter><filter-mapping><filter-name>CAS Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping>其中,第一,二个localhost都改成CAS服务器域名或主机名,第三个改成你servelt example 应用域名或主机名,由于本文中CAS服务器与客户端在同一主机同一Tomcat上,所以都为localhost。

cas 解决方案

cas 解决方案

cas 解决方案
《CAS 解决方案:实现单点登录和跨域访问控制》
在当今互联网时代,随着企业应用的多样化和复杂化,用户需要频繁地登录各种不同的应用系统,这不仅增加了用户的操作负担,也增加了企业管理的难度。

为了解决这一问题,CAS (Central Authentication Service,中央认证服务)应运而生。

CAS 是一种开源的认证解决方案,它利用单点登录(SSO)
技术,使用户只需登录一次,就能访问所有经过 CAS 认证的
应用系统。

CAS 还提供了跨域访问控制的能力,可以有效地
保护用户的隐私和数据安全。

CAS 解决方案的主要特点包括:
1. 单点登录:CAS 实现了统一认证和访问控制,用户只需登
录一次,就可以访问所有经过 CAS 认证的应用系统。

这大大
增加了用户的便利性和操作效率。

2. 跨域访问控制:CAS 可以在不同的域之间实现安全的用户
认证和访问控制,保护用户的隐私和数据安全。

3. 开放源代码:CAS 是一个开源的项目,可以根据企业的实
际需求进行定制和扩展,适用性广泛。

在实际应用中,CAS 解决方案已经被广泛应用于教育、金融、医疗、电子商务等各个行业,为用户提供了便利的应用访问体验,同时也提高了企业的管理效率和数据安全。

可以说,CAS 解决方案已成为企业实现数字化转型和信息化建设的关键技术之一。

总的来说,CAS 解决方案不仅满足了用户和企业的需求,还
推动了互联网领域的技术创新和发展。

相信随着互联网和移动互联网的不断发展,CAS 解决方案将会在更多领域得到应用,为用户和企业带来更多的价值和便利。

CAS——weblogic9.2集群部署

CAS——weblogic9.2集群部署

CAS部署文档(Weblogic9.2+集群)营配一体化中,统一认证CAS推广所用的中间件为Weblogic814,但由于版本太老,没能买到服务等原因,局方要求把版本升级。

最后集合各方力量,把统一认证升级为Weblogic9.2版本,并通过测试,再编写成该文档。

附件中《cas_app》为统一认证csscas、sysManager、personManage3个应用与集群代理defaultProxyApp。

各个包的作用如下:⏹csscas包为统一认证核心包;⏹sysManager包为CAS人员组织管理应用,供CAS管理员使用;⏹personManage包为CAS人员个人管理应用,供修改个人信息使用,现在配网生产中页面集成了该应用,让工作人员修改个人的信息。

⏹defaultProxyApp包为代理应用,负责分派请求到不同的节点。

Weblogic814升级到Weblogic92的修改内容如下:●在csscas、sysManager、personManage3个应用的\WEB-INF 目录下,增加两个xml配置文件,weblogic-application.xml、weblogic.xml,文件内容见附件《cas_app》。

●将csscas\WEB-INF\lib 下的xercesImpl-2.4.0.jar和antlr-2.7.6.jar两个jar包,复制到domain中的lib目录下;详细步骤说明如下:安装数据库Oracle10g,建立实例SID为:casdb;建立表空间,CAS、CAS_TB,大小为:500MCREATE TABLESPACE CAS_TB DATAFILE 'd:\oracle\cas\CAS_TB_DATA01.dbf' SIZE 512M;CREATE TABLESPACE CAS DATAFILE 'd:\oracle\cas\CAS_DATA01.dbf' SIZE 512M;;建立cas用户,默认表空间为CAScreate user casidentified by "cas"default tablespace CAStemporary tablespace TEMPprofile DEFAULT;把cas赋权DBAgrant connect to cas with admin option;grant dba to cas;grant resource to cas with admin option;grant select_catalog_role to cas;grant unlimited tablespace to cas with admin option;grant create session to cas;把dmp文件导入cas用户中,导入时会有INDEX导入异常,这是正常异常,可以忽略;imp cas/cas@CASDB file= D:\casdb.dmp log= D:\ cas.log commit=Y buffer=64000full=Y然后安装Weblogic 9.2选择YES,同意协议选择bea安装目录:选择自定义安装:为了节省时间&空间,不安装workshop安装完成后,配置Domain:选择“创建一个新的domain”:选择一个domain的模版:输入domain的用户名和密码:选择启动模式为:Production Mode,选择JDK版本为:Sun SDK;选择“YES”,自定义domain的设置:把端口设置为9000,然后点击Next:配置节点,下面先配置两个节点CASServer_1, CASServer_2,端口分别为9001,9002,然后点击NEXT:添加集群,名字为CAS_Cluster,地址找一个特别的,端口9000,然后点击NEXT把刚才配置的两个节点放置到左边的集群中,然后点击NEXT:点击NEXT:点击NEXT:配置Domain名字:完成Domain的配置后,复制两个文件,将csscas\WEB-INF\lib 下的xercesImpl-2.4.0.jar和antlr-2.7.6.jar文件复制到casdomain 中的lib 目录下修改cas_app中的csscas、sysManager、personManage 3个应用的配置文件,把IP地址填入(下面先用127.0.0.1表示)csscas\WEB-INF\classes\ApplicationSymbol.propertiesdataSource=jndidataSourcedataSourceJndiName=java.datasource.casdataSourceJndi.java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory dataSourceJndi.java.naming.provider.url=t3://127.0.0.1:9001,127.0.0.1:9002说明:这里是所有节点的地址和端口hibernate.dialect=org.hibernate.dialect.Oracle9Dialecthibernate.hbm2ddl.auto=hibernate.show_sql=falsehibernate.max_fetch_depth=0hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactorycasHost=http://127.0.0.1casIP=http://127.0.0.1adminLoginSuccessUrl=http://127.0.0.1:9000/demo/test.jsplog4j.prohibit=trueuserService=hrUserService#最大失败次数maxFailureCount=1000#失败日志保留的分钟数(6小时)failureLogHoldMinutes=360#锁定分钟数(一天)lockMinutes=1440#缓存过期时间(分钟)30天tgcCache.maxtime=1440#缓存过期时间(分钟)stCache.maxtime=10#客户端缓存检查时间间隔(分钟)clientMaxCacheTime=5sysManager 与personManage 的\WEB-INF\classes\ApplicationSymbol.propertiesIP配置修改为服务器IP即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CAS配合JBOSS实现集群认证
1.需要在cas工程中另外加载的jar包有:
2.其中jbosscache-core-2.2.2.GA-all.zip中有源码和Jar包。

如果在工程中导入的是源
码的话另外还需要导入源码所需jar包(我就是这种方式)。

3.在工程中导入cas-server-integration-jboss-3.
4.2.jar,根据cas的版本绝对,该文件在
cas下载文件中modules目录下(注意,可能cas版本不同使用的jbosscache的版本也不同,可以在cas-server-integration-jboss目录下的pom.xml中查看使用的jbosscache版本号。

4.修改WEB-INF/spring-configuration/ticketRegistry.xml,注释掉默认的ticketRegistry,
加入新的ticketRegistry。

并增加配置。

<!-- Ticket Registry -->
<!--
<bean id="ticketRegistry"
class="org.jasig.cas.ticket.registry.DefaultTicketRegistry " />
-->
<bean id="ticketRegistry"
class="org.jasig.cas.ticket.registry.JBossCacheTicketRegistry"
>
<property name="cache"ref="cache"/>
</bean>
<bean id="cache"
class="org.jasig.cas.util.JBossCacheFactoryBean">
<property name="configLocation"
value="classpath:jbossCache.xml"/>
</bean>
5.增加jbossCache.xml,确保编译之后再classpath下。

该文件在CAS下载文件就是
cas-server-integration-jboss\src\test\resources\jbossTestCache.xml。

不过还需要修改该
文件,注释掉2行代码如下:
<!-- <depends>jboss:service=TransactionManager</depends> -->
<!-- <attribute
name="TransactionManagerLookupClass">org.jboss.cache.transaction.Dumm yTransactionManagerLookup</attribute>
-->
并修改(mcast_addr组播地址和ip_ttl组播穿越的网络范围,bind_addr自己的IP 地址)
<UDP mcast_addr="239.255.0.2"mcast_port="48866"
ip_ttl="1"ip_mcast="true"
bind_addr="172.26.68.88"
mcast_send_buf_size="150000"
mcast_recv_buf_size="80000"
ucast_send_buf_size="150000"
ucast_recv_buf_size="80000"
loopback="false"/>
6.修改tomcat配置文件server.xml(和业务系统集群一样)
7.最后修改web.xml。

加入<distributable/>。

相关文档
最新文档