CAS單點登錄配置[3]:服務器端配置

在準備工作,證書生成等工作完成后,本篇介紹服務器端的配置。

JDK配置

  1. 1

    我們將生成的cacerts文件分別拷貝到JDK目錄下的jre/lib/security目錄下及JRE對應的目錄中,如果之前存在此文件,請替換;

    END

Tomcat配置

  1. 1

    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

數據庫配置

  1. 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中查詢用戶名密碼,表結構如下。

  2. 第二處:

    在</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數據庫,若是其他數據庫加粗傾斜部分需要修改。

  3. 數據表結構如下圖:

  4. [注意]數據源是SQLServer,做完如上配置還要到數據庫里面建立相應的表,與配置中的字段對應,另外此處采用了32位MD5加密算法,所以數據庫中的密碼字段必須也要采用MD5加密。

    [附]:

    admin888???32位MD5密文:7fef6171469e80d32c0559f88b377245

    先不要急著運行,缺少Jar包會報錯...

    CAS單點登錄配置:[3]服務器端配置
  5. Step?2:找到cas-server-3.4.10/modules目錄,

    將cas-server-support-jdbc-3.4.10.jar及相應的數據庫驅動包拷貝到cas的lib目錄下。

    配置完成,重啟tomcat,如果報錯請檢查配置文件或jar包導入是否有錯!

    測試:用戶名密碼都輸入1

    CAS單點登錄配置:[3]服務器端配置
  6. 6

    再換成我們數據庫中設置的用戶名密碼,如果登錄成功表示服務器端配置成功!

    END

注意事項

  • 如果配置了xml文件后無法顯示登錄界面,請仔細檢查xml中的標簽是否對稱,內容是否正確!
  • 數據庫為SQlServer2008

轉載于:https://www.cnblogs.com/longshiyVip/p/5067712.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458527.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458527.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458527.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DLL動態鏈接庫的工作原理

"動態鏈接"這幾字指明了DLLs是如何工作的。 對于常規的函數庫&#xff0c;鏈接器從中拷貝它需要的所有庫函數&#xff0c;并把確切的函數地址傳送給調用這些函數的程序。 而對于DLLs&#xff0c;函數儲存在一個獨立的動態鏈接庫文件中。在創建Windows程序時&#xff…

remind程序

2019獨角獸企業重金招聘Python工程師標準>>> 用了兩個定時器。一個控制刷新時間&#xff0c;一個控制響鈴。 定時器響應函數Timer: int wk; if(nIDEvent1) { CTime tCTime::GetCurrentTime(); wkt.GetDayOfWeek()-1; m_mnt.Format("%Y 年 …

查看手機是否安裝微信客戶端

if (![[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:"weixin://"]] ) {[wcatBtn setHidden:YES];}

Caffe學習系列(7):solver及其配置

solver算是caffe的核心的核心&#xff0c;它協調著整個模型的運作。caffe程序運行必帶的一個參數就是solver配置文件。運行代碼一般為 # caffe train --solver*_slover.prototxt 在Deep Learning中&#xff0c;往往loss function是非凸的&#xff0c;沒有解析解&#xff0c;我們…

Qt DLL總結-創建及調用QT的 DLL

目錄 Qt DLL總結【一】-鏈接庫預備知識 Qt DLL總結【二】-創建及調用QT的 DLL Qt DLL總結【三】-VS2008Qt 使用QPluginLoader訪問DLL 開發環境&#xff1a;VS2008Qt4.7.4 最近看了不少Qt的DLL例子&#xff0c;總結一下如何創建和調用QT 動態鏈接庫。 先講一下對QT動態鏈接庫的…

Unable to install pirate

真機測試的時候&#xff0c;報這個錯誤&#xff0c;主要原因就是證書的問題 xcode7以上進行的真機測試&#xff0c;可以沒有使用證書&#xff0c;xcode可以進行的傻瓜操作幫助我們完成真機測試&#xff0c;但是今天我進行真機測試的時候報這個錯誤&#xff0c;同時xcode也不進…

memmove 對同一個指針不操作

memmove 對同一個指針不操作&#xff0c;所以調用memmove之前不用比較兩個指針是否相同 void CTestDLLDlg::OnBnClickedButton6() {const int size 999999;char* data new char[size];memset(data, 1, size - 1);char* data1 new char[size];memset(data1, a, size - 1);clo…

.Net JIT

.Net JIT(轉) JIT 轉載于:https://www.cnblogs.com/HelloMyWorld/p/5501135.html

Hadoop HDFS概念學習系列之HDFS升級和回滾機制(十二)

不多說&#xff0c;直接上干貨&#xff01; HDFS升級和回滾機制 作為一個大型的分布式系統&#xff0c;Hadoop內部實現了一套升級機制&#xff0c;當在一個集群上升級Hadoop時&#xff0c;像其他的軟件升級一樣&#xff0c;可能會有新的bug或一些會影響現有應用的非兼容性變更出…

TCP協議的特性

TCP協議的特性&#xff1a;建立連接&#xff1a;三次握手將數據打包成段&#xff1a;校驗和&#xff08;CRC32&#xff09;確認、重傳及超時排序&#xff1a;邏輯序號流量控制&#xff1a;滑動窗口算法擁塞控制&#xff1a;慢啟動和擁塞便面算法轉載于:https://blog.51cto.com/…

屬性動畫基礎之ValueAnimator

概述 屬性動畫是谷歌在android3.0&#xff08;API level 11&#xff09;時候給我們帶來了屬性動畫&#xff0c;真正意義上帶來了”動畫“&#xff0c;以前的幀動畫也就4中效果的組合&#xff08;旋轉、淡入淡出、放大縮小、平移&#xff09;&#xff0c;而且只是表面的動畫&…

經驗之談:10位頂級PHP大師的開發原則

導讀&#xff1a;在Web開發世界里&#xff0c;PHP是最流行的語言之一&#xff0c;從PHP里&#xff0c;你能夠很容易的找到你所需的腳本&#xff0c;遺憾的是&#xff0c;很少人會去用“最佳做法”去寫一個PHP程序。這里&#xff0c;我們向大家介紹PHP的10種最佳實踐&#xff0c…

#Pragma Pack(n)與內存分配 pragma pack(push,1)與#pragma pack(1)的區別

from&#xff1a;http://blog.csdn.net/mylinx/article/details/7007309 #pragma pack(n) 解釋一&#xff1a; 每個特定平臺上的編譯器都有自己的默認“對齊系數”(也叫對齊模數)。程序員可以通過預編譯命令#pragma pack(n)&#xff0c;n1,2,4,8,16來改變這一系數&#xff0c;…

ShowDoc的搭建

其實&#xff0c;官方文檔也說的很清楚了。主要貼一下我遇見的問題。環境&#xff1a;LNMP&#xff08;LAMP沒試過&#xff0c;有興趣的同學可以試試&#xff0c;然后發出來&#xff09;PHP5.3以上版本、php-mbstring模塊、php-pdo模塊、mysql數據庫克隆或者下載代碼&#xff1…

BroadcastReceiver

本文介紹Broadcast Receiver&#xff0c;包括幾部分內容&#xff1a;Broadcast Receiver概述及實例、自定義Broadcast Receiver、Broadcast Receiver的實現細節、生命周期等。 csdn貌似今天出問題了&#xff0c;無法上傳圖片。 資料來源&#xff1a;最牛網&#xff0c;《官方解…

如何確定VS編譯器版本--_MSC_VER || #if _MSC_VER 1000 #pragma once #endif

如何確定VS編譯器版本 _MSC_VER是MSVC編譯器的內置宏&#xff0c;定義了編譯器的版本&#xff0c;_MSC_VER 值對應版本關系 MSVC 11.0 _MSC_VER 1700 (Visual Studio 2012) MSVC 10.0 _MSC_VER 1600 (Visual Studio 2010) MSVC 9.0 _MSC_VER 1500 (Visual Studio 2008) …

NIO復習02

Selector 1. Selector&#xff08;選擇器&#xff09;是Java NIO中能夠檢測一到多個NIO通道&#xff0c;并能夠知曉通道是否為諸如讀寫事件做好準備的組件。這樣&#xff0c;一個單獨的線程可以管理多個channel&#xff0c;從而管理多個網絡連接。 2. Selector的創建&#xff1…