发布一篇部署cas服务器完成定制JDBC考证
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解1安装
1.1体系设置
以下的软件情况是必须的:
1.JDK1.4.2orhigher
2.Tomcat5.X1.2Tomcat设置,启用SSL
1.在要安装CAS的呆板上为Tomcat天生用于SSL通信的密钥:
keytool–genkey–aliastomcat–keyalgRSA
这时候必要输出密钥暗码和其他参数(第一个参数CN必需设置为CAS呆板名,本机利用localhost测试),会在用户目次中天生.keystore密钥文件。
2.导出密钥文件:
keytool–export–fileserver.crt–aliastomcat
这时候必要输出上一步设定的暗码,了局会在以后目次天生server.crt信托状。
3.为客户真个JVM导进密钥:
keytool–import–keystore$JAVA_HOMEjrelibsecuritycacerts
–fileserver.crt–aliastomcat
输出暗码时注重暗码为“changeit”。
4.修正服务端Tomcat设置文件,启用SSL。修正$CATALINA_HOMEconfserver.xml,往失落有关SSL的那一段的正文,必要在connector字段中到场keystorePass="password"(password即为1、2步中的暗码),keystoreFile="keystorePath"(能够把第一步天生的.keystore复制到$CATALINA_HOMEconf下,如许keystoreFile="conf/.keystore")。
5.重启Tomcat,测试https://server:8443是不是能够会见(server应换为呆板名或IP地点)。
1.3CASServer安装
下载CASServer3.0.4,将个中的cas.war复制到$CATALINA_HOMEwebapps下,固然如今CAS中的用户暗码认证Handler是很大略的,产物化必需重写这部分代码,天生新的cas.jar。这时候能够经由过程会见https://localhost:8443/cas测试CAS是不是乐成部署,应看到CAS上岸界面。
1.4CASClient部署
使用Tomcat自带的servlets-examples($CATALINA_HOMEwebappsservlets-examples)和jsp-examples($CATALINA_HOMEwebappsjsp-examples)举行实验,下载最新版本的JavaCASClient,将casclient.jar复制到这两个项目标WEB-INF目次的lib下(必要新建此目次)。修正两个项目标WEB-INFweb.xml,增加以下的过滤器:
<!--CASFilters-->
<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>
<param-value>https://server:8443/cas/login</param-value>
</init-param><!--这里的server是服务真个IP-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://serName:8443/cas/proxyValidate</param-value>
</init-param><!--这里的serName是服务真个主机名,并且必需是-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>client:port</param-value><!--client:port就是必要CAS必要拦阻的地点和端口,一样平常就是这个TOMCAT所启动的IP和port-->
</init-param>
</filter>
<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern><!--这里的设置是针对servlets-examples的,针对jsp-examples设置为/*-->
</filter-mapping>
2测试
重启Tomcat,定位到servlets-examples,实行任何一个例子城市被重定向到CAS上岸页;再定位到jsp-examples,也会被重定向到CAS上岸页;此时上岸(默许的认证Handler只需求username=password,可恣意选择用户名);登录后就会进进jsp-examples;持续定位到servlets-examples,实行任何一个例子也不必再输出暗码。
增补:
在多台呆板上部署CAS:这些呆板必须在统一个域中;服务器端天生证书,客户端导进证书(操纵见上)。
PHP客户端:利用esup-phpcas客户端,考证部分php代码以下:
//importphpCASlib
include_once(CAS/CAS.php);
//initializephpCAS
phpCAS::client(CAS_VERSION_2_0,freeserver.test-toodou.com,8443,/cas);
//forceCASauthentication
phpCAS::forceAuthentication();
//atthisstep,theuserhasbeenauthenticatedbytheCASserver
//andtheusersloginnamecanbereadwithphpCAS::getUser().
//logoutifdesired
if(isset($_REQUEST)){
phpCAS::logout();
}
登录停止后,CAS服务器会主动重定向回本页面。
CAS服务器与数据库毗连:实践情况中我们必要到数据库考证用户无效性,在CAS中设置JDBC毗连。
起首,我们必要创立本人的数据库考证器,固然也能够利用Jasig供应的cas-server-jdbc.jar,这里我们修正了cas-server-jdbc的源码满意本人的必要。并把mysql的jdbc驱动和修正后的jar部署到CAS%/WEB_INF/lib/。
修正%CAS%/WEB_INF/deployerConfigContext..xml,个中关于考证器的一段以下:
………………………………..
<beanclass="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<propertyname="sql"value="selectpswfromuserwhereusername=?"/>
<propertyname="dataSource"ref="dataSource"/>
</bean>
</list>
</property>
</bean>
<beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"destroy-method="close">
<propertyname="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<propertyname="url"><value>jdbc:mysql://192.168.1.246:3306/toodou</value></property>
<propertyname="username"><value>username</value></property>
<propertyname="password"><value>********</value></property>
</bean>
Trackback:http://tb.blog.csdn.net/TrackBack.aspx?PostId=1503239
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。 Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Java是一种计算机编程语言,拥有跨平台、面向对java 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 是一种突破用户端机器环境和CPU 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
页:
[1]