在準備工作,證書生成等工作完成后,本篇介紹服務器端的配置。
Tomcat配置
-
Step?1:將除了cacerts之外所有的證書文件拷貝到tomcat?的根目錄下,如果服務器端和客戶端共用一個tomcat只需要拷貝一次,否則有幾個tomcat就拷貝幾次。
Step?2:修改Tomcat的conf/server.xml配置文件,找到如下配置代碼:
<Connector?port="8443"?protocol="HTTP/1.1"?SSLEnabled="true"
maxThreads="150"?scheme="https"?secure="true"
clientAuth="false"?sslProtocol="TLS"?/>
**************************************************************
修改為:
<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="D:/Develop/Tomcat7.0.55/server.keystore"
keystorePass="changeit"/>
[注意]此處SSL的port為8443,如果希望訪問時不帶端口號可以改為默認的443端口,keystoreFile指向我們復制的server.keystore文件,keystorePass則是密碼信息。
END
數據庫配置
-
Step?1:由于CAS默認策略是用戶名=密碼,即登錄成功,這顯然不安全,打開tomcat安裝目錄下按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="dataSource"?ref="dataSource"></property>
<property?name="sql"?value="select?password?from?tbl_user?where?login_name=??">
</property>
<property?name="passwordEncoder"?ref="MD5PasswordEncoder"></property>
</bean>
*****************************************************************
從tbl_user中查詢用戶名密碼,表結構如下。
-
第二處:
在</beans>之前添加
<bean id="auditTrailManager"class=
"com.github.inspektr.audit.support.Slf4jLoggingAuditTrailManager"?/>
<bean?
id="MD5PasswordEncoder"class=
"org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
<constructor-arg?index="0">
<value>MD5</value>
</constructor-arg>
</bean>
<bean?
id="dataSource"?class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>com.microsoft.sqlserver.jdbc.SQLServerDriver
</value>
</property>
<property?name="url">
<value>jdbc:sqlserver://localhost:1433;DatabaseName=m2m
</value>
</property>
<property?name="username"><value>sa</value></property>
<propertyname="password">
<value>databaseadmin</value>
</property>
</bean>
此處使用SQLServer2008數據庫,若是其他數據庫加粗傾斜部分需要修改。
-
數據表結構如下圖:
-
[注意]數據源是SQLServer,做完如上配置還要到數據庫里面建立相應的表,與配置中的字段對應,另外此處采用了32位MD5加密算法,所以數據庫中的密碼字段必須也要采用MD5加密。
[附]:
admin888???32位MD5密文:7fef6171469e80d32c0559f88b377245
先不要急著運行,缺少Jar包會報錯...
-
Step?2:找到cas-server-3.4.10/modules目錄,
將cas-server-support-jdbc-3.4.10.jar及相應的數據庫驅動包拷貝到cas的lib目錄下。
配置完成,重啟tomcat,如果報錯請檢查配置文件或jar包導入是否有錯!
測試:用戶名密碼都輸入1
-
再換成我們數據庫中設置的用戶名密碼,如果登錄成功表示服務器端配置成功!
END