日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Yale cas服務(wù)器端/客戶端環(huán)境配置以及其在tomca

系統(tǒng) 2157 0

有關(guān)CAS服務(wù)器配置以及作為cas服務(wù)器客戶端程序的配置方法介紹

? 由于CAS要求使用https和客戶端進(jìn)行通信,所以需要配置Tomcat支持SSL,為了實(shí)現(xiàn)SSL,一個(gè)Web服務(wù)必須對(duì)每一個(gè)接受安全連接的外部接口或者IP地址有一個(gè)相關(guān)聯(lián)的證書,數(shù)字證書的獲取一般從像verisign或者Thawte這樣的著名證書頒發(fā)機(jī)構(gòu)(Certificate Authority CA)購(gòu)買證書,或者如果身份驗(yàn)證并不很重要,比如管理員只是希望保證服務(wù)器發(fā)送和接收的數(shù)據(jù)是私有的并且不能被連接中的任何竊聽者探聽到,則可以只是使用自簽名的證書,從而省去獲取CA證書的時(shí)間和成本。此處使用自簽名證書作為客戶端與服務(wù)器端安全通信的憑證。

本節(jié)描述創(chuàng)建一個(gè)名為server.keystore的服務(wù)器keystore以及名為client.keystore的客戶端keystore。這兩個(gè)文件構(gòu)成一個(gè)密鑰對(duì)。這些文件通常是在<TOMCAT_HOME>目錄中或者在應(yīng)用程序目錄中創(chuàng)建的。

我們使用keytool工具創(chuàng)建keystore文件。可以在<JAVA_HOME>/bin目錄中找到keytool工具。


1.???? 生成密鑰對(duì)

keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore

2? 將服務(wù)器證書導(dǎo)出為證書文件:

keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore
?輸入密碼(changeit):

Keytool返回下列消息:

Certificate stored in file <server.cer>

?


3 用keytool在所選的keystore文件中創(chuàng)建客戶端證書:

keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore

4 將新客戶端證書從keystore導(dǎo)出到證書文件:

keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore

輸入keystore密碼(changeit)。Keytool將返回該消息:

Certificate stored in file <client.cer>


5 將上述步驟所得到的tomcat根目錄下server.cer以及client.cer證書文件導(dǎo)入到cacerts 文件中,
cacerts文件默認(rèn)生成在tomcat根目錄下

keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit

keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit

6在tomcat根目錄下找到cacerts文件,拷貝到<JAVA_HOME>\jre\lib\security文件下


從下載得cas-server3最新版本中找到target文件下面得cas.war,拷貝到<TOMCAT_HOME>/webapp目錄下
,修改<TOMCAT_HOME>/conf下面得server.xml文件,添加如下:

<Connector port="8443" maxHttpHeaderSize="8192"
?????????????? maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
?????????????? enableLookups="false" disableUploadTimeout="true"
?????????????? acceptCount="100" scheme="https" secure="true"
?????????????? clientAuth="false" sslProtocol="TLS" keystoreFile="/server.keystore" keystorePass="changeit"/>
??
?
? 7? CAS默認(rèn)設(shè)置為只要用戶名和密碼相同,即可進(jìn)行登錄,這在現(xiàn)實(shí)使用中是不允許的。我們修改為使用MySQL的test數(shù)據(jù)庫(kù)中的app_user表作為用戶數(shù)據(jù)源。首先,我們?cè)趖est庫(kù)中創(chuàng)建一個(gè)表:
CREATE TABLE `app_user` (
? `username` varchar(30) NOT NULL default '',
? `password` varchar(45) NOT NULL default '',
? PRIMARY KEY? (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
并添加如下用戶:
INSERT INTO `app_user` (`username`,`password`) VALUES
?('dianne','emu'),
?('marissa','koala'),
?('peter','opal'),
?('scott','wombat');
用編輯器打開%CATALINA_HOME%/webapps/cas/WEB-INF/deployerConfigContext.xml,找到
??? <bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
注釋掉該行,在其下加入:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
??????????????????????????? <property name="sql" value="select password from app_user where username=?" />
??????????????????????????? <property name="dataSource" ref="dataSource" />
???????????????????? </bean>
并添加一個(gè)bean:
??? <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
?????? <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
?????? <property name="url"><value>jdbc:mysql://localhost:3306/test</value></property>
?????? <property name="username"><value>test</value></property>
?????? <property name="password"><value>test</value></property>
??? </bean>
拷貝cas-server-jdbc-3.0.5-rc2.jar和mysql-connector-java-3.1.12-bin.jar到%CATALINA_HOME%/webapps/cas/WEB-INF/lib下。

?

8啟動(dòng)startup.bat,運(yùn)行tomcat之后,新打開得瀏覽器中輸入: https://localhost:8443 即可看到安全連接對(duì)話框,選擇之后可以看到正常運(yùn)行得tomcat!

---此時(shí) ,cas服務(wù)器端配置已經(jīng)完成,只要配置客戶端之后即可通過cas認(rèn)證服務(wù)器來實(shí)現(xiàn)各個(gè)子系統(tǒng)之間得單點(diǎn)統(tǒng)一登陸!

?

客戶端配置如下:

1? 打開客戶端得web.xml文件,添加如下


<!-- CAS Filters -->
?<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://localhost:8443/cas/login</param-value>
??</init-param><!--這里的server是服務(wù)端的IP-->
??<init-param>
???<param-name>
????edu.yale.its.tp.cas.client.filter.validateUrl
???</param-name>
???<param-value>
???? https://localhost:8443/cas/proxyValidate
???</param-value>
??</init-param><!--這里的serName是服務(wù)端的主機(jī)名,而且必須是-->
??<init-param>
???<param-name>
????edu.yale.its.tp.cas.client.filter.serverName
???</param-name>
???<param-value>localhost:8443</param-value><!--client:port就是需要CAS需要攔截的地址和端口,一般就是這個(gè)TOMCAT所啟動(dòng)的IP和port-->
??</init-param>
?</filter>

?<filter-mapping>
??<filter-name>CASFilter</filter-name>
??<url-pattern>/secure/*</url-pattern><!--這里的設(shè)置是針對(duì)servlets-examples的,針對(duì)jsp-examples設(shè)置為/*-->
?</filter-mapping>
?
?
?2? 然后拷貝從cas-server網(wǎng)站上下載到的casclient.jar文件到客戶端的lib下面即可;
?
?
?cas服務(wù)器以及客戶端全部部署完畢后,即可通過cas統(tǒng)一認(rèn)證服務(wù)器來實(shí)現(xiàn)應(yīng)用系統(tǒng)中的單點(diǎn)登陸,從而把登陸認(rèn)證的部分邏輯從
?子系統(tǒng)中剝離出來交給cas認(rèn)證服務(wù)器來做!

?



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1510481


Yale cas服務(wù)器端/客戶端環(huán)境配置以及其在tomcat服務(wù)器下SSL安全協(xié)議得部署之完全實(shí)現(xiàn)篇


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 休宁县| 子长县| 南充市| 赞皇县| 揭东县| 磴口县| 手机| 吴江市| 衡水市| 龙南县| 阿拉善右旗| 子洲县| 遂川县| 丰顺县| 延川县| 海南省| 平江县| 无为县| 科尔| 卫辉市| 安岳县| 和林格尔县| 双鸭山市| 凤山市| 富顺县| 岳阳市| 建宁县| 巩留县| 治县。| 和硕县| 崇州市| 缙云县| 巴青县| 新龙县| 茂名市| 阳谷县| 杭州市| 教育| 通州区| 禹城市| 崇左市|