zoukankan      html  css  js  c++  java
  • cas单点登录搭建

    ​1、下载CAS服务器

    CAS 官网:http://www.jasig.org/cas 下载,这可能需要FQ
    CAS下载:http://downloads.jasig.org/cas/

    2、应用CAS

    1)下载 CAS 服务器最新版:cas-server-3.5.2-release.zip
    2)解压程序包
    3)复制 cas-server-3.5.2/modules/cas-server-webapp-3.5.2.war 到 Tomcat 的 webapps 目录下,并重命名为 ROOT.war

    3、创建密钥库

    1
    keytool -genkeypair -alias"cas" -keyalg "RSA" -keystore "F:syncjavaKeyscas.keystore"

    4、导出到证书文件

    1、“名字与姓氏”应该是域名,若输成了姓名,和真正运行的时候域名不符,会出问题;

    1
    keytool -export-alias cas -file "F:syncjavaKeyscas.crt" -keystore "F:syncjavaKeyscas.keystore"

    5、为JVM导入证书

    1
    keytool -import -keystore "%JAVA_HOME%jrelibsecuritycacerts" -file "F:syncjavaKeyscas.crt" -alias cas

    1)可能遇到以下错误 (删除cacerts)

    1
    java.io.IOException:Keystore was tampered with,or password was incorrect
    1
    keytool -delete-keystore "%JAVA_HOME%jrelibsecuritycacerts"-alias cas //删除操作

    2)没有导入证书

    1
    javax.net.ssl.SSLException: java.lang.RuntimeException:Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

    3)创建密钥库的时候没有填localhost为你的名字,注意cas server有用到ca证书

    1
    javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:No name matching localhost found

    注意:你有多个java环境的时候

    6、修改tomcat配置

    1. clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证

    2. keystoreFile:服务器证书文件路径

    3. keystorePass:服务器证书密码

    4. truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书

    5. truststorePass:根证书密码

    1
    <Connectorport="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true"scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"/>

    1)找到以下配置加入keystoreFile、keystorePass

    7、登录cas服务器

    1)https://localhost:8443/login(注意是HTTPS)

    2)账号密码相同即登录成功

    3)退出时:https://localhost:8443/login

    8、修改密码

    1)为了能访问数据库还得做如下配置:WEB-INFO/deployerConfigContext.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!--注释 -->
    <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 users where userName=?"></property>
        <!--<property name="passwordEncoder" ref="MD5PasswordEncoder"></property> -->
    </bean>

    2)在最下面加入

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName">
            <value>com.mysql.jdbc.Driver</value>
        </property>
        <property name="url">
            </value>
        </property>
        <property name="username">
            <value>root</value>
        </property>
        <property name="password">
            <value>123456</value>
        </property>
    </bean>
    <bean id="MD5PasswordEncoder"
        class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder">
        <constructor-argindex =>
            <value>MD5</value>
        </constructor-arg>
    </bean>

    3)然后从解压目录下拷贝cas-server-support-jdbc-3.5.2.jar,再下载mysql-connector-java-5.1.26-bin.jar,将这两个文件拷贝到%CATALINA_HOME%/webapps/cas/WEB-INF/lib目录下

    注:数据库确定有t_cas_user表,id, userName,password






  • 相关阅读:
    nlogn LIS CF1437E
    CF 1444B
    unsigned int慎用
    CF1425D 容斥 组合数 快速幂求逆元
    CF 1408D探照灯 找 匪
    各种状态转移
    CF 459C
    主席树 入门
    杭州特色景致的性价比精致餐厅
    SQL函数总结
  • 原文地址:https://www.cnblogs.com/apescode/p/5872478.html
Copyright © 2011-2022 走看看