CAS SSO例ノート(オリジナル-梁健)
6933 ワード
まず気持ちを書いてください.
去年最初の会社で作ったプロジェクトはCAS SSO単点登録でしたが、私が作ったものではないので、あまり深く研究していませんでした.この間は暇なので、CAS SSO単点登録を新しく勉強しましょう.ポータルサイトなどの大手サイトでも使われるので、これは確かに不可欠な技術です.この2,3日CAS SSOを配置する時に多くの問題に出会って、助けられなかったことがありますが、堅持してあきらめないでください、最終的にはいつも成功します!
-------------------------------------------------------------------------------------------------------------------------------
次の列に問題が発生したプロセスを示します.
まず、Tomcatがhttpsを構成した後、エラーメッセージを起動します.
次に、正常に起動しますが、CASログインページにジャンプできません.httpsでアクセスできません.
また、CASのログインページに正常にジャンプできますが、ログインをクリックすると、成功ページにジャンプしたときに500エラーを報告し、証明書をインポートしていないと言います.
-------------------------------------------------------------------------------------------------------------------------------
ネット上でたくさんの資料を探しましたが、ほとんど配置が成功しませんでした.これが欠けているのではなく、それが少ないのです.ここで私は私のノートを書いて、絶対にあなたが配置することができることを保証します!さあ、気持ちはここまでにしましょう.とにかく成功した瞬間は気持ちがいいです.
転載は出典を明記してください:http://liangjian103.iteye.com/blog/1129056
メディア1、クライアントメディアcas-client-2.0.11が必要である.zip
2、サービス端媒体cas-server-3.4.8-release.zip
3、 Tomcat6.0
4、 jdk1.5.0_12
ダウンロード先:
http://downloads.jasig.org/cas-clients/
http://downloads.jasig.org/cas/
cas-server-3.4.8-release.zipcas-server-3.4.8modulesの下のcas-server-webapp-3.4.8.warはTomcatのwebappディレクトリにコピーし、casと名前を変更します.war
一、サービス側の構成(以下の構成はバッチを書いた.)Tomcatのパスワードを変更します:changeit、以下はすべてこのパスワードを使うためです.
CASはドメイン名しか認識できないため、C:WINDOWSsystem 32driversetchostsを修正するしかなく、加入:127.0.0.1 sso.tomcat.comは以下のバッチ処理で実現するので、一歩一歩車に戻って証明書を設定する情報も必要ありません.サービス側の証明書はドメイン名を構成します.例えば、CN=sso.tomcat.comここではhostsで構成されています.この名前は以下にクライアントのwebを構成する.xmlのフィルタに書いてある一致は、以下で説明します.
保存先:証明書構成を生成します.bat、ダブルクリックして実行します.
Tomcat 6.0confserverを変更します.xmlファイル:
この構成も長い間困っていましたが、最終的にテストに合格しました.
ここで注意しなければならないのは、証明書のパスとパスワード、keystore/serverです.keystoreこのディレクトリとファイルは上のバッチで作成され、パスワードはデフォルトで「changeit」です.
二、クライアントの配置:あなたのアプリケーションで、webを修正します.xmlファイル、SSOフィルタを追加
Tomcatサービスを起動し、SSOフィルタのページにアクセスするとCASのログインページにジャンプできます.ログインに成功すると、自動的にターゲットページにジャンプします.AアプリケーションとBアプリケーションにSSOフィルタが追加されると、CAS認証サーバにジャンプしてログインし、そのうちの1つがCASにログインすると、別のアプリケーションが自動的にログインします.
去年最初の会社で作ったプロジェクトはCAS SSO単点登録でしたが、私が作ったものではないので、あまり深く研究していませんでした.この間は暇なので、CAS SSO単点登録を新しく勉強しましょう.ポータルサイトなどの大手サイトでも使われるので、これは確かに不可欠な技術です.この2,3日CAS SSOを配置する時に多くの問題に出会って、助けられなかったことがありますが、堅持してあきらめないでください、最終的にはいつも成功します!
-------------------------------------------------------------------------------------------------------------------------------
次の列に問題が発生したプロセスを示します.
まず、Tomcatがhttpsを構成した後、エラーメッセージを起動します.
次に、正常に起動しますが、CASログインページにジャンプできません.httpsでアクセスできません.
また、CASのログインページに正常にジャンプできますが、ログインをクリックすると、成功ページにジャンプしたときに500エラーを報告し、証明書をインポートしていないと言います.
-------------------------------------------------------------------------------------------------------------------------------
ネット上でたくさんの資料を探しましたが、ほとんど配置が成功しませんでした.これが欠けているのではなく、それが少ないのです.ここで私は私のノートを書いて、絶対にあなたが配置することができることを保証します!さあ、気持ちはここまでにしましょう.とにかく成功した瞬間は気持ちがいいです.
転載は出典を明記してください:http://liangjian103.iteye.com/blog/1129056
メディア1、クライアントメディアcas-client-2.0.11が必要である.zip
2、サービス端媒体cas-server-3.4.8-release.zip
3、 Tomcat6.0
4、 jdk1.5.0_12
ダウンロード先:
http://downloads.jasig.org/cas-clients/
http://downloads.jasig.org/cas/
cas-server-3.4.8-release.zipcas-server-3.4.8modulesの下のcas-server-webapp-3.4.8.warはTomcatのwebappディレクトリにコピーし、casと名前を変更します.war
一、サービス側の構成(以下の構成はバッチを書いた.)Tomcatのパスワードを変更します:changeit、以下はすべてこのパスワードを使うためです.
tomcat-users.xml
<user username="admin" password="changeit" roles="admin,manager"/>
CASはドメイン名しか認識できないため、C:WINDOWSsystem 32driversetchostsを修正するしかなく、加入:127.0.0.1 sso.tomcat.comは以下のバッチ処理で実現するので、一歩一歩車に戻って証明書を設定する情報も必要ありません.サービス側の証明書はドメイン名を構成します.例えば、CN=sso.tomcat.comここではhostsで構成されています.この名前は以下にクライアントのwebを構成する.xmlのフィルタに書いてある一致は、以下で説明します.
set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
set TOMCAT_HOME=D:\Program Files\Apache Software Foundation\Tomcat 6.0
set SERVER_DN="CN=sso.tomcat.com, OU=share, O=share, L=sz, S=gd, C=CN"
set KS_PASS=-storepass changeit
keytool -delete -alias tomcat -file client.cert %KS_PASS% -keystore server.keystore
keytool -delete -alias tomcat1 -trustcacerts -file client.cert %KS_PASS% -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -keypass
changeit
keytool -genkey -alias tomcat -keyalg RSA -keystore server.keystore -dname %SERVER_DN% %KS_PASS% -keypass changeit
keytool -export -alias tomcat -file client.cert %KS_PASS% -keystore server.keystore
keytool -import -alias tomcat1 -trustcacerts -file client.cert %KS_PASS% -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -keypass
changeit -noprompt
mkdir "%TOMCAT_HOME%\keystore\"
copy server.keystore "%TOMCAT_HOME%\keystore\"
@echo off
echo "-----------------------------------------------------------"
echo %TOMCAT_HOME%\conf\server.xml 。
echo "<Connector protocol=org.apache.coyote.http11.Http11NioProtocol"
echo "port=8443 minSpareThreads=5 maxSpareThreads=75"
echo "enableLookups=true disableUploadTimeout=true"
echo "acceptCount=100 maxThreads=200"
echo "scheme=https secure=true SSLEnabled=true"
echo "clientAuth=false sslProtocol=TLS"
echo "keystoreFile=keystore/server.keystore keystorePass=changeit"
echo "/>"
echo JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
echo TOMCAT_HOME=D:\Program Files\Apache Software Foundation\Tomcat 6.0
echo :%TOMCAT_HOME%\keystore\server.keystore
echo CAS 。 SSO 。
echo "-----------------------------------------------------------"
color 3
echo. && pause
保存先:証明書構成を生成します.bat、ダブルクリックして実行します.
Tomcat 6.0confserverを変更します.xmlファイル:
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="keystore/server.keystore" keystorePass="changeit"
/>
この構成も長い間困っていましたが、最終的にテストに合格しました.
ここで注意しなければならないのは、証明書のパスとパスワード、keystore/serverです.keystoreこのディレクトリとファイルは上のバッチで作成され、パスワードはデフォルトで「changeit」です.
keystoreFile="keystore/server.keystore" keystorePass="changeit"
二、クライアントの配置:あなたのアプリケーションで、webを修正します.xmlファイル、SSOフィルタを追加
<!-- SSO-Start -->
<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://sso.tomcat.com:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://sso.tomcat.com:8443/cas/proxyValidate</param-value>
</init-param>
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>192.168.9.203:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Filter</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
<!-- SSO-END -->
Tomcatサービスを起動し、SSOフィルタのページにアクセスするとCASのログインページにジャンプできます.ログインに成功すると、自動的にターゲットページにジャンプします.AアプリケーションとBアプリケーションにSSOフィルタが追加されると、CAS認証サーバにジャンプしてログインし、そのうちの1つがCASにログインすると、別のアプリケーションが自動的にログインします.