- 浏览: 446374 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
sunwang810812:
万分感谢中!!!!!这么多年终于看到一个可运行可解决的方案!! ...
POI 后台生成Excel,在前台显示进度 -
zzb7728317:
LZ正解
Spring Jackson AjaxFileUpload 没有执行回调函数的解决办法 -
sleeper_qp:
lz是在源码上修改的么? 源码的话你重新编译一遍了么? 可 ...
由nutch readseg -dump 中文编码乱码想到的…… -
shenjian430:
请问你改好的程序在写在哪了?
由nutch readseg -dump 中文编码乱码想到的…… -
yinxusen:
It seems to be the bug occur in ...
Mahout Local模式 执行example的注意点
先部署CAS服务端
1.部署CAS服务器的WAR包
将cas-server-3.4.11-release.zip解压缩,把modules文件夹中的cas-server-webapp-3.4.11.war
文件拷贝到<TOMCAT_HOME>/webapps/下,改名为cas(这里的名字只是一种习惯,当然可以改成其他或不改),然后启动服务器,其会自动解压。
2. 修改CAS登录的用户库
CAS的默认设置是只要用户名和密码相同,即可进行登录成功,真正的系统用户名和密码相同的可能性极小,所以我们需要修改默认的设置。
主要的修改在deployerConfigContext.xml文件里
位置:<TOMCAT_HOME>/webapps/cas/WEB-INF。
首先找到
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注释该行,加入下面的bean,这里bean的class属性用到的是CAS服务器端封装的JDBC包cas-server-jdbc-3.0.5.jar里的QueryDatabaseAuthenticationHandler方法,所以要将此包拷贝到/WEB-INF下的lib中。(还需要将mysql-connector-java-5.1.14-bin.jar放到/WEB-INF下的lib中)
这里sql属性是从clientuser表中根据cas登陆名查找密码。
dataSource属性需要再添加一个bean,如下:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> <property name="sql" value="select password from clientuser where username=?" /> <property name="dataSource"> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost:3306/sso</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>wschool</value> </property> </bean> </property> </bean>
http://developer.jasig.org/repo/content/repositories/m1/cas/jars/找到cas-server-jdbc-3.0.5.jar下载。
cas-server-jdbc-3.0.5.jar 包中,提供了 3 个基于 JDBC 的 AuthenticationHandler,分别为 BindModeSearchDatabaseAuthenticationHandler, QueryDatabaseAuthenticationHandler, SearchModeSearchDatabaseAuthenticationHandler。其中 BindModeSearchDatabaseAuthenticationHandler 是用所给的用户名和密码去建立数据库连接,根据连接建立是否成功来判断验证成功与否;QueryDatabaseAuthenticationHandler 通过配置一个 SQL 语句查出密码,与所给密码匹配;SearchModeSearchDatabaseAuthenticationHandler 通过配置存放用户验证信息的表、用户名字段和密码字段,构造查询语句来验证。使用哪个 AuthenticationHandler,需要在 deployerConfigContext.xml 中设置,默认情况下,CAS 使用一个简单的 username=password 的 AuthenticationHandler.
3.访问https://localhost:8443/cas-server-webapp-3.4.11/
然后换一台机子,可以是虚拟机,部署一个Web项目,集成CAS客户端
参考http://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html
http://my.oschina.net/liferay/blog/5805
1.创建一个WEB项目CasClient1,然后把casclient.jar包导入到lib中去,我这里用的是2.1.0的版本,不是3.2.1的版本。
2.修改 web.xml 文件:
<servlet> <servlet-name>Test</servlet-name> <servlet-class>com.wujay.Test</servlet-class> </servlet> <servlet-mapping> <servlet-name>Test</servlet-name> <url-pattern>/servlet/Test</url-pattern> </servlet-mapping> <filter> <filter-name>CASFilter</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> <!--这里的server是服务端的IP--> <param-value>https://wujay-PC:8443/cas_server/login</param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name> <!--这里的serName是服务端的主机名,而且必须是--> <param-value> https://wujay-PC:8443/cas_server/serviceValidate </param-value> </init-param> <init-param> <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name> <!--client:port就是需要CAS需要拦截的地址和端口,一般就是客户机这个TOMCAT所启动的IP和port--> <param-value>localhost:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CASFilter</filter-name> <!-- 这个是我自己加的一个servlet,当访问这个页面时,就弹到https://wujay-PC:8443/cas/login 这个就是服务器配置的路径 --> <url-pattern>/servlet/Test</url-pattern> </filter-mapping>
创建com.wujay.Test.java:
public class Test extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title>Welcome to casTest2 sample System!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Welcome to casTest1 sample System!</h1>"); CASFilterRequestWrapper reqWrapper=new CASFilterRequestWrapper(request); out.println("<p>The logon user:" + reqWrapper.getRemoteUser() + "</p>"); HttpSession session=request.getSession(); out.println("<p>The logon user:" + session.getAttribute(CASFilter.CAS_FILTER_USER) + "</p>"); out.println("<p>The logon user:" + session.getAttribute("edu.yale.its.tp.cas.client.filter.user") + "</p>"); out.println("</body>"); out.println("</html>"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } }
3.在客户端访问http://localhost:8080/CasClient1/servlet/Test,第一次会跳转到cas服务器端进行用户名和密码的输入,以后就不用输入密码了。
问题汇总:
严重: edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator prox
yList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://192.168.1.111:8443/cas/proxyValidate] ticket=[ST-0-9h7Mx5HK3pfsdxRv
MD3y] service=[http%3A%2F%2F192.168.1.222%3A8080%2Fservlets-examples%2Fservlet%2FHelloWorldExample] renew=false]]]
这个CAS异常是从CAS Client里面抛出,是当我们不使用证书的CN去访问域名的时候(比如下文是用IP访问而且证书的CN是该IP对应的域名而非该IP),CASClient无法信任,也就是我上面特意提到的那个CN的问题。要特别注意。我这里的CN=wujay-PC
INFO [org.jasig.cas.authentication.AuthenticationManager
Impl] - <AuthenticationHandler: cn.com.tiansky.cas.authenticationHandlers.UPAuthenticationHandler successfully authenticated the user which provided the followi
ng credentials: [username: test]>
就种错误,可能是客户端的那个配置文件里写的不太对。也就是上面说的第五步,要多注意一下。
java.io.IOException: Cannot recover key
at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket
Factory.java:125)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESo
cketFactory.java:88)
at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoi
nt.java:292)
at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.j
ava:138)
at org.apache.catalina.connector.Connector.initialize(Connector.java:101
这种错误,可能是你生成的证书有问题,如果keypass和storepass的密码不一致也会把这个错(不知为什么非要设成一样的)
- cas-server-jdbc-3.0.5.jar (6.5 KB)
- 下载次数: 1
- mysql-connector-java-5.1.14-bin.jar (757.5 KB)
- 下载次数: 0
- cas-client-java-2.1.0.zip (980.3 KB)
- 下载次数: 2
发表评论
-
hibernate的Criteria Query(转)
2014-06-29 21:22 775当查询数据时,人们往往需要设置查询条件。在SQL或HQL语句 ... -
【转】hibernate 中 Criteria 的使用介绍
2014-06-29 21:21 1043转自:http://www.blogjava.net/jjs ... -
【转】Hibernate中Criteria的完整用法
2014-06-29 21:20 788转自:http://www.cnblogs.com/maba ... -
Java读写Oracle中的BLOB和CLOB
2013-10-16 18:00 2030转:http://www.iteye.com/topic/6 ... -
Spring的事务管理入门:编程式事务管理(TransactionTemplate)
2013-10-15 16:20 1045可有效应用于Oracle 临时表的insert和select ... -
jdbcTemplate 调用存储过程和回到函数
2013-10-15 09:09 3823转:http://blog.csdn.net/dancelo ... -
Spring3核心技术之JdbcTemplate
2013-10-15 09:03 1359转:http://zhou137520.iteye.com/ ... -
验证码在WebLogic下报错java.io.IOException: response already committed
2013-05-06 14:16 2644我的登录验证码代码,一个jsp,在Tomcat下没有问题,但 ... -
Struts2在eclipse的console中总是出现WARN OgnlValueStack:45 - Could not find property
2013-04-17 18:00 1734struts2 在发开时,控制台如输出大量警告信息,太烦人 ... -
【转】Eclipse自动关闭解决方法及eclipse.ini设置
2013-03-29 15:21 3821转自:http://liujun5563.blog.163. ... -
[转]批量将Java源代码文件的编码从GBK转为UTF-8
2012-11-12 13:43 1522转自:http://my.oschina.net/binny/ ... -
对代理模式与Java动态代理类的理解
2012-09-25 01:51 01. 代理模式 代理模式的作用是:为其他对象提供一种 ... -
【转】 java中yield(),sleep()以及wait()的区别
2012-09-13 22:49 878从操作系统的角度讲,os会维护一个ready queue(就绪 ... -
java 继承类 变量、静态变量、构造函数执行顺序
2012-09-10 16:07 1062包含普通变量、静态变量、构造函数、继承类的执行顺序为: 1、父 ... -
京东2012春笔试编程题
2012-09-10 12:58 01、求给定数组中最大的K个数function array[] ... -
Java实现Stack、Queue、BinaryTree
2012-09-11 10:28 15131、用数组实现Stack: public class MySt ... -
Java中a++和++a的分析
2012-09-18 08:34 2878本人从编译后的代码来看a++和++a的区别: 先看代码1: ... -
华为2012校园上机编程题
2012-09-09 16:04 0/** * 1. 手机号码合法 ... -
2011年9月7日,华为上机题Java实现
2012-09-08 15:58 0第二题: /** * 输入字符串长度len,字符串str, ... -
Java对于Cookie的操作详解
2012-09-18 08:34 8301.设置Cookie Cookie cookie = n ...
相关推荐
当用户试图访问受保护的资源时,CAS Client(部署在客户端应用中)会检查请求中是否存在Service Ticket。如果没有,它会将用户重定向到CAS Server进行登录。用户成功登录后,CAS Server会生成一个Service Ticket并...
- **配置CASServer**:首先需要在Tomcat环境中部署CASServer。这通常涉及配置服务器的相关参数,比如数据库连接、安全设置等。 - **配置CASClient**:为了使Web应用能够与CASServer进行交互,需要在应用中添加CAS...
为了在Tomcat中部署CAS Server,需要进行以下步骤: 1. 准备工作:确保Tomcat版本兼容,并且服务器支持SSL。 2. 配置SSL:Tomcat的SSL配置涉及到keystore和truststore的设置,以支持HTTPS协议。 3. 下载CAS Server...
在这个"openjdk11+tomcat9+CASServer.zip"压缩包中,包含了搭建CAS Server 6.3系列所需的基础软件组件,主要涉及三个关键技术:OpenJDK 11、Tomcat 9和CAS Server。 **OpenJDK 11**: OpenJDK是Java Development Kit...
4. **部署CasServer**:将CasServer的WAR文件放入Tomcat的`webapps`目录下,Tomcat会自动解压并启动CasServer的服务。 5. **测试与调试**:启动Tomcat后,访问CasServer的默认URL(通常是`...
部署CAS Server的步骤包括: 1. 配置Tomcat使用HTTPS,这涉及到生成SSL证书和修改Tomcat的`server.xml`配置文件。 2. 将下载的CAS Server应用包解压并复制到Tomcat的`webapps`目录下。 3. 配置CAS Server的配置文件...
在Tomcat中部署CAS Server之前,需要进行必要的配置,包括设置端口、调整JVM参数等。 **2.4.5 启动Cas认证服务器** 启动Cas认证服务器通常只需运行Tomcat的`startup.sh`或`startup.bat`脚本。 **2.4.6 配置cas...
- 在Tomcat中部署CASServer和CASClient。 - 配置CASServer,包括数据库连接信息、认证策略等。 - 配置CASClient,确保能够正确地重定向至CASServer进行认证。 #### 四、结合实际的环境的扩展 - **多个Web应用...
【部署CAS Server】部署CAS Server需要: 1. 使用兼容Servlet 2.3的Web服务器,例如Tomcat 6.0。 2. 下载并安装CAS Server和Client。 3. 配置Tomcat支持HTTPS,包括生成SSL证书,建议使用主机名或域名而非IP地址。 4...
在“tomcat集成CAS.doc”文档中,应该详细介绍了在Tomcat服务器上配置和部署CAS客户端的步骤,包括添加CAS服务器的信任证书、配置服务器的context.xml以支持HTTPS以及调整CAS客户端的配置文件。通过阅读这份文档,你...
cas-server-webapp-tomcat-5.3.16.war maven依赖包
2. **配置CAS Client**:在每个需要SSO功能的Tomcat应用中,部署CAS客户端组件,如`cas-server-support-spring-boot-starter`。这通常涉及修改应用的`web.xml`或使用Spring Boot的配置来配置客户端的URL、服务验证...
1. **配置CAS服务端**:在Tomcat服务端安装并配置CAS服务器,包括设置CAS服务器的URL、部署CAS服务器的应用上下文等。 2. **配置CAS客户端**:在每个客户端Tomcat应用中,配置CasClientFilter,设置服务端的地址...
6. **部署CAS Server**:将修改后的CAS Server应用打包成WAR文件,然后将其放入Tomcat的`webapps`目录下,启动服务器,CAS Server即被部署成功。 接下来,我们转向cas-java-client 3.2的使用。这是一个Java客户端库...
为了在Tomcat中实现客户端的配置,需要将CAS客户端的库(通常是一个jar文件)添加到Web应用的类路径中,并在Web应用的web.xml文件中配置过滤器和监听器,以处理与CAS服务器的交互。过滤器将检查请求,如果用户未认证...
3. **Web服务器**:如Apache Tomcat,用于部署CAS服务端应用。 4. **数据库**:可选,用于存储认证信息,如MySQL、Oracle等。 ### 三、CAS服务器下载与解压 从官方网站或者其他可靠源下载CAS服务器的最新稳定版本,...
- **部署CAS.war文件**:将CAS服务部署到Tomcat中。 - 解压`cas-server-3.0.6.zip`包,将其中的`cas.war`文件复制到Tomcat的`webapps`目录下。 ##### 4. 配置Tomcat - **启用HTTPS**:编辑Tomcat的`conf/server....
【构建CAS的WAR部署包(CAS-Overlay)(cas-server-webapp)(4.2.7)】是一个关于在Java环境中部署中央认证服务(Central Authentication Service,简称CAS)的重要过程。CAS是一个开源的身份验证框架,广泛用于实现单...
在部署CAS时,Tomcat将作为服务器端运行CAS服务。 然后,我们安装CASSVN的Server部分。在该目录下,有两个不同版本的文件,选择任意一个解压缩。在解压后的`modules`目录下,你会找到一个名为`cas-server-webapp-...
首先,我们需要在Tomcat服务器上部署CAS项目。这通常涉及以下步骤: 1. **下载CAS服务器**:从官方Git仓库或Maven仓库获取最新的CAS服务器源码或二进制包。 2. **配置CAS服务器**:修改`cas-server-config....