zoukankan      html  css  js  c++  java
  • CAS服务端配置

    1. 产生SERVER的证书库文件

      ketool工具详细运用:http://www.micmiu.com/lang/java/keytool-start-guide/

      首先确保jdk环境变了正确配置才可以使用keytool工具,检测keytool工具:win+r  打开cmd  输入keytool命令,不报错就ok了

      

        以上操作会在当前目录下产生ssodemo.keystore证书文件

    2.  server配置tomcat使用HTTPS

      <!--
        <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" />
        -->
        <Connector SSLEnabled="true" clientAuth="false" keystoreFile="D:	estssossodemo.keystore" keystorePass="111111" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS"/>

      注意:keystorePass="111111"(这个问证书库文件的密码,也就是上面配置产生的一个密码)keystoreFile="D: estssossodemo.keystore" (这是证书库文件的存放路径

      测试:https://localhost:8443/  正常显示tomcat主页面

    3.  添加cas.war 

      CAS下载地址:http://www.jasig.org/cas/download

      本例用的是:3.5.2.1版本

      下载后有个modules文件夹里面有个cas-server-webapp-3.5.2.1.war改名cas.war放在tomcat的webapps下

       测试 : https://localhost:8443/cas/login  登录页面  正常显示  默认账号/密码admin /admin

       https://localhost:8443/cas/logout 登出

    4.  配置 casDataSource

        打开文件 /webapps/cas/WEB-INF/deployerConfigContext.xml,添加一个新的 bean 标签

        并且将 cas-server-support-jdbc-3.1.1.jar(下载的cas里面modules文件夹有) 拷贝到 /webapps/cas/ WEB-INF/lib 

        DataStore 依赖于 commons-collections-3.2.jar, commons-dbcp-1.2.1.jar, commons-pool-1.3.jarmysql jar(驱动jar)

      <bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource">
             <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>root</value>
             </property>
             <property name="password">
                  <value>123456</value>
             </property>
        </bean>

      

    5.  添加一个新的 bean 查询 QueryDatabaseAuthenticationHandler(在deployerConfigContext.xml里面

    <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                        <property name="dataSource" ref="casDataSource" />
                        <property name="sql" 
                           value="select password from user where username = ?" />
                        <property name="passwordEncoder" ref="MD5PasswordEncoder" ></property>
                    </bean>
    说明:select password from user where username = ?   user为登录信息表  username为登录名称  password为登录密码
    passwordEncoder密码为设置密码解密机制,如果不需要解密可以删除
    添加 MD5PasswordEncoder bean:
    <bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
                <constructor-arg index="0" value="md5" />
         </bean>

    6. 自定义MD5 Encoder(如果上面的md5密码验证不符合项目需要)

    <!--数据验证模 我自己实现的MD5接口-->
        <bean id="MD5PasswordEncoder" class="org.jasig.cas.authentication.handler.Crypt"></bean>

      类的实现(注意包名,和上面的class要一致,把编译的class文件放在cas  web应用对应目录下):

    package org.jasig.cas.authentication.handler;
     
    
    public class Crypt  implements PasswordEncoder{
        /**
         * 进行加密编码
         * @param s 要加密的字符串
         * @return 加密后的字符串
         */
        public String encode(String s)
        {
          MD5 md5=new MD5();
          String ecd=md5.getMD5ofStr(s) ;
          System.out.println("-------- need =["+ecd+"]") ;
          return ecd;
        }
    }
     
  • 相关阅读:
    Mosaic 前端微服务框架
    使用skipper 扩展fabio 的路由&&http proxy 功能
    Introducing Makisu: Uber’s Fast, Reliable Docker Image Builder for Apache Mesos and Kubernetes
    lua-resty-shell 多任务执行
    openresty 使用lua-resty-shell 执行shell 脚本
    ncm 让跨项目配置一致性简单的工具
    lapis 项目添加prometheus 监控集成grafana
    使用prometheus+ grafana+nginx-module-vts 模块监控openresty
    两天快速开发一个自己的微信小程序
    笔记本如何查看mac地址
  • 原文地址:https://www.cnblogs.com/cxyj/p/3884339.html
Copyright © 2011-2022 走看看