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.mzph.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…