zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    xaml的margin和css的margin对比
    easyui datagrid连续删除问题
    面试常用的代码片段
    JS实现table表格在鼠标移动出现一行变色或者十字叉变色
    Ubuntu 18.04 LTS 64位Linux搭建Kubernetes 1.15.3并join子节点的完整过程
    Java定义队结构,实现入队、出队操作
    Java定义栈结构,实现入栈、出栈操作
    Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历
    MySQL计算两个日期相差的天数、月数、年数
    Nginx(web服务器)与Tomcat(应用服务器)搭建集群
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/5067712.html
Copyright © 2011-2022 走看看