﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-zzxplayful</title><link>http://www.blogjava.net/zzxplayful/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 10:06:04 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 10:06:04 GMT</pubDate><ttl>60</ttl><item><title>url和命名空间</title><link>http://www.blogjava.net/zzxplayful/archive/2008/01/19/176539.html</link><dc:creator>张振新</dc:creator><author>张振新</author><pubDate>Sat, 19 Jan 2008 15:46:00 GMT</pubDate><guid>http://www.blogjava.net/zzxplayful/archive/2008/01/19/176539.html</guid><wfw:comment>http://www.blogjava.net/zzxplayful/comments/176539.html</wfw:comment><comments>http://www.blogjava.net/zzxplayful/archive/2008/01/19/176539.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zzxplayful/comments/commentRss/176539.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zzxplayful/services/trackbacks/176539.html</trackback:ping><description><![CDATA[对<span class="hilite1">Acegi</span>的使用，我的建议是： <br />
1. 按照<span class="hilite1">Acegi</span>的官方意见，在Demo的基础上改 <br />
2. 不要使用动态权限的思想。这个在一开始程序设计上就要避免 <br />
3. url 在一开始就要有合适的命名。如 /admin/** 一定对应admin角色, 等等。 <br />
<img src ="http://www.blogjava.net/zzxplayful/aggbug/176539.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zzxplayful/" target="_blank">张振新</a> 2008-01-19 23:46 <a href="http://www.blogjava.net/zzxplayful/archive/2008/01/19/176539.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>yale cas实现sso</title><link>http://www.blogjava.net/zzxplayful/archive/2008/01/06/173181.html</link><dc:creator>张振新</dc:creator><author>张振新</author><pubDate>Sun, 06 Jan 2008 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/zzxplayful/archive/2008/01/06/173181.html</guid><wfw:comment>http://www.blogjava.net/zzxplayful/comments/173181.html</wfw:comment><comments>http://www.blogjava.net/zzxplayful/archive/2008/01/06/173181.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zzxplayful/comments/commentRss/173181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zzxplayful/services/trackbacks/173181.html</trackback:ping><description><![CDATA[<p><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;有关<span class="hilite1">CAS</span>服务器配置以及作为<span class="hilite1">cas</span>服务器客户端程序的配置方法介绍</font></p>
<p><font face="Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;由于<span class="hilite1">CAS</span>要求使用https和客户端进行通信，所以需要配置Tomcat支持SSL，为了实现SSL，一个Web服务必须对每一个接受安全连接的外部接口或者IP地址有一个相关联的证书，数字证书的获取一般从像verisign或者Thawte这样的著名证书颁发机构(Certificate Authority CA)购买证书，或者如果身份验证并不很重要，比如管理员只是希望保证服务器发送和接收的数据是私有的并且不能被连接中的任何窃听者探听到，则可以只是使用自签名的证书，从而省去获取CA证书的时间和成本。此处使用自签名证书作为客户端与服务器端安全通信的凭证。</font></p>
<p><font face="Arial">本节描述创建一个名为server.keystore的服务器keystore以及名为client.keystore的客户端keystore。这两个文件构成一个密钥对。这些文件通常是在&lt;TOMCAT_HOME&gt;目录中或者在应用程序目录中创建的。</font></p>
<p><font face="Arial">我们使用keytool工具创建keystore文件。可以在&lt;JAVA_HOME&gt;/bin目录中找到keytool工具。</font></p>
<font face="Arial">
<p><span style="color: #ff0000">进入到tomcat的根目录下：</span><br />
<br />
1.&nbsp;&nbsp;&nbsp;&nbsp; 生成密钥对</p>
<p>keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore <br />
<br />
在填写第一个问题时，如果是本地主机：应该写localhost，其他问题随便填写。<br />
</p>
<p>2&nbsp; 将服务器证书导出为证书文件：</p>
<p>keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore <br />
&nbsp;输入密码(changeit)：</p>
<p>Keytool返回下列消息：</p>
<p>Certificate stored in file &lt;server.cer&gt; </p>
<p>&nbsp;<br />
3 用keytool在所选的keystore文件中创建客户端证书：</p>
<p>keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore </p>
<p>4 将新客户端证书从keystore导出到证书文件：</p>
<p>keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore </p>
<p>输入keystore密码(changeit)。Keytool将返回该消息：</p>
<p>Certificate stored in file &lt;client.cer&gt; </p>
<p><br />
5 &nbsp;将上述步骤所得到的tomcat根目录下server.cer以及client.cer证书文件导入到cacerts 文件中，<br />
cacerts文件默认生成在tomcat根目录下</p>
<p>keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit </p>
<p>keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit </p>
<p>6 把证书导入到java信任的证书当中。<br />
<br />
keytool -import -trustcacerts -alias tomcat -file server.crt -keystore %java_home%/jre/lib/security/cacerts </p>
<p><br />
从下载得<span class="hilite1">cas</span>-server3最新版本中找到target文件下面得<span class="hilite1">cas</span>.war，拷贝到&lt;TOMCAT_HOME&gt;/webapp目录下<br />
，修改&lt;TOMCAT_HOME&gt;/conf下面得server.xml文件，添加如下：</p>
<p>&lt;Connector port="8443" maxHttpHeaderSize="8192"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enableLookups="false" disableUploadTimeout="true"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; acceptCount="100" scheme="https" secure="true"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clientAuth="false" sslProtocol="TLS" keystoreFile="/server.keystore" keystorePass="changeit"/&gt;</p>
<p>&nbsp;</p>
<p>7 启动startup.bat，运行tomcat之后，新打开得浏览器中输入：<a href="https://localhost:8443">https://localhost:8443</a>即可看到安全连接对话框，选择之后可以看到正常运行得tomcat！</p>
<p>－－－此时 ，<span class="hilite1">cas</span>服务器端配置已经完成，只要配置客户端之后即可通过<span class="hilite1">cas</span>认证服务器来实现各个子系统之间得单点统一登陆！</p>
<p><br />
<br />
&nbsp;</p>
<p>客户端配置如下：</p>
<p>1&nbsp; 打开客户端得web.xml文件，添加如下</p>
<p><br />
&lt;!-- <span class="hilite1">CAS</span> Filters --&gt;<br />
&nbsp;&lt;filter&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;<span class="hilite1">CAS</span>Filter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;filter-class&gt;<br />
&nbsp;&nbsp;&nbsp;edu.yale.its.tp.<span class="hilite1">cas</span>.client.filter.<span class="hilite1">CAS</span>Filter<br />
&nbsp;&nbsp;&lt;/filter-class&gt;<br />
&nbsp;&nbsp;&lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;edu.yale.its.tp.<span class="hilite1">cas</span>.client.filter.loginUrl<br />
&nbsp;&nbsp;&nbsp;&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;https://localhost:8443/<span class="hilite1">cas</span>/login&lt;/param-value&gt;<br />
&nbsp;&nbsp;&lt;/init-param&gt;&lt;!--这里的server是服务端的IP--&gt;<br />
&nbsp;&nbsp;&lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;edu.yale.its.tp.<span class="hilite1">cas</span>.client.filter.validateUrl<br />
&nbsp;&nbsp;&nbsp;&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;https://localhost:8443/<span class="hilite1">cas</span>/proxyValidate<br />
&nbsp;&nbsp;&nbsp;&lt;/param-value&gt;<br />
&nbsp;&nbsp;&lt;/init-param&gt;&lt;!--这里的serName是服务端的主机名，而且必须是--&gt;<br />
&nbsp;&nbsp;&lt;init-param&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;edu.yale.its.tp.<span class="hilite1">cas</span>.client.filter.serverName<br />
&nbsp;&nbsp;&nbsp;&lt;/param-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;param-value&gt;localhost:8080&lt;/param-value&gt;&lt;!--client:port就是需要<span class="hilite1">CAS</span>需要拦截的地址和端口，一般就是这个TOMCAT所启动的IP和port--&gt;<br />
&nbsp;&nbsp;&lt;/init-param&gt;<br />
&nbsp;&lt;/filter&gt;</p>
<p>&nbsp;&lt;filter-mapping&gt;<br />
&nbsp;&nbsp;&lt;filter-name&gt;<span class="hilite1">CAS</span>Filter&lt;/filter-name&gt;<br />
&nbsp;&nbsp;&lt;url-pattern&gt;/secure/*&lt;/url-pattern&gt;&lt;!--这里的设置是针对servlets-examples的，针对jsp-examples设置为/*--&gt;<br />
&nbsp;&lt;/filter-mapping&gt;<br />
&nbsp;<br />
&nbsp;<br />
&nbsp;2&nbsp; 然后拷贝从<span class="hilite1">cas</span>-server网站上下载到的<span class="hilite1">cas</span>client.jar文件到客户端的lib下面即可；<br />
<br />
<br />
<br />
<br />
附录：<br />
<strong>显示</strong> <br />
keytool -list -v -keystore %java_home%/jre/lib/security/cacerts &gt; t.txt <br />
<strong>删除</strong> <br />
keytool -delete -alias tomcat -keystore %java_home%/jre/lib/security/cacerts -keypass changeit <br />
只能输入tomcat的缺省口令changeit <br />
<strong>keytool参考</strong> <br />
%JAVA_HOME%\bin\keytool -delete -alias tomcat -keypass changeit <br />
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keypass changeit -keyalg RSA <br />
%JAVA_HOME%\bin\keytool -export -alias tomcat -keypass changeit -file %FILE_NAME% <br />
%JAVA_HOME%\bin\keytool -import -file server.crt -keypass changeit <br />
-keystore %JAVA_HOME%/jre/lib/security/cacerts <br />
%JAVA_HOME%\bin\keytool -import -file server.crt -keypass changeit <br />
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keypass changeit -keyalg RSA -validity 365 <br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />
&nbsp;&nbsp; <br />
</p>
</font>
<img src ="http://www.blogjava.net/zzxplayful/aggbug/173181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zzxplayful/" target="_blank">张振新</a> 2008-01-06 22:09 <a href="http://www.blogjava.net/zzxplayful/archive/2008/01/06/173181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>