CAS-単点登録環境インストール+JDBCサポート配置


仕事のせいで、久しぶりに何かを書きました.
別のブログに書きます.
http://cid-5c0c98dd2e25c135.spaces.live.com/blog/cns!5 C 0 C 98 DD 2 E 25 C 35128.entry
えっと、spaceは遅すぎて、長い間使っていません.一回使うのはまだ難しいです.強制移転にも間に合いました.まあ、国内のものを使いましょう.
憎らしい網易、この技術文章も去勢します.
 
 
一:ソフトウェア準備
apache-tomcat-6.0.26
mysql 5.1
cas-server-3.4.2.1-release
cas-client-31.10-release
 
二:データベースのインストール
win 7の下に緑色のmysqlをインストールすることを参照してください。
三:配置cas-サービス端末
1)cas.warファイルをtomcat webappsディレクトリの下にコピーする
2)jdbcデータベースのサポートを追加する.
Mysqlデータベースドライバ(mysql-connector-java-51.13-bin.jar)をapache-tomcat-6.0.26\libディレクトリにコピーするか、apache-tomcat-6.0.26\webapps\cas\WEB-INF\libディレクトリをコピーします.
便利さのためにドライババックをapache-tomcat-6.0.26\libディレクトリにコピーしました.
修正ファイル:deployer ConfigContect.xml
<property name="authenticationHandlers">
			<list>
				<!--
					| This is the authentication handler that authenticates services by means of callback via SSL, thereby validating
					| a server side SSL certificate.
					+-->
				<!--
				<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
					p:httpClient-ref="httpClient" />
				-->
				
				<!--
					| This is the authentication handler declaration that every CAS deployer will need to change before deploying CAS 
					| into production.  The default SimpleTestUsernamePasswordAuthenticationHandler authenticates UsernamePasswordCredentials
					| where the username equals the password.  You will need to replace this with an AuthenticationHandler that implements your
					| local authentication strategy.  You might accomplish this by coding a new such handler and declaring
					| edu.someschool.its.cas.MySpecialHandler here, or you might use one of the handlers provided in the adaptors modules.
					+-->
				<!-- 	
				<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
				-->
				
				<!-- jdbc  -->
				<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
					<property name="sql" value="select sPassword from tbosstaff where sStaffAccount=?" />
          <property name="dataSource" ref="dataSource" />
				</bean>
				
				
			</list>
		</property>
	</bean>
       
  <!-- jdbc 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/dzyw-cas</value></property>
                <property name="username"><value>root</value></property>
                <property name="password"><value></value></property>
        </bean>
四:配置cas-クライアント
tomcatの中のdocsアプリケーションをクライアントとして完成させます.
1)docs/WEB-INFの下にlibフォルダを作成する
2)cas-client-coret-3.10.jarとcomons-loging-11.jarをdocs/WEB-INF/libの下にコピーする.
3)パーミッション認証フィルタの設定
web.xmlファイルを変更する
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 

  <display-name>Tomcat Documentation</display-name>
  <description>
     Tomcat Documentation.
  </description>
  
  <filter>
  	<filter-name>CAS Authentication Filter</filter-name>
  	<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
  	<init-param>
  		<param-name>casServerLoginUrl</param-name>
  		<param-value>http://localhost:8081/cas/login</param-value>
  	</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://localhost:8081</param-value>
		</init-param>
</filter>

<filter-mapping>
      <filter-name>CAS Authentication Filter</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>


</web-app>
4)設定を登録する
A)フィルタの使い方
B)モニターを使う方式
四:テスト
1)システム登録が可能かどうかをテストする.
ieアクセスhttp://localhost:8081/docsを使用すると、CAS-OSSの登録ページに自動的に切り替わり、データベースに保存されているユーザ名とパスワードを入力すると、正常にdocsに遷移することができます.
五:問題を考える
1)データベースのパスワードは暗号化されていますが、casはどう配置されますか?
2)本質問のデータソースは簡単なjdbc接続を使用していますが、実際のプロジェクトはどうしてもJNDIやデータベース接続池などの配置を使用する必要があります.どのように配置すればいいですか?
3)登録者の情報はどのように環境全体に伝達されますか?
4)CASサービスに対する圧力テストはどうやって行いますか?