zoukankan      html  css  js  c++  java
  • cas服务器搭建

      一、CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

        

      二、cas中央认证服务器,我们在使用的时候用来作为单点登录的方式,这里主要是搭建中央认证服务器。cas存在3中访问协议,https、http、imaps。但是cas默认使用的是https的访问方式。http需要做一些配置,这里主要是说明cas搭建需要涉及的问题。接下来会说明如果修改。

      三、cas项目下载地址:https://github.com/apereo/cas-overlay-template/tree/master(这个是主线的)

        我们这里使用的是5.3版本:https://github.com/apereo/cas-overlay-template/tree/5.3(maven版)

      四、使用idea打开项目

      1)默认会下载cas-server-webapp-tomcat-5.3.8.war的依赖

      

      2)war中的内容为

      

      五、修改参数打cas.war

      1)修改账户信息:application.properties

      默认:

      

      根据自己需要进行修改,我这里修改为admin::admin

      2)如果我们要支持http的客户端,需要设置一下内容

      http:

      a、HTTPSandIMAPS-10000001.json

    {
      "@class" : "org.apereo.cas.services.RegexRegisteredService",
      "serviceId" : "^(https|imaps)://.*",
      "name" : "HTTPS and IMAPS",
      "id" : 10000001,
      "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
      "evaluationOrder" : 10000
    }

      在serviceId中加入http

      b、在application.properties加入

    #http时使用
    cas.tgc.secure=false
    #开启JSON文件的识别
    cas.serviceRegistry.initFromJson=true

      3)maven打包

      六、运行

      七、https协议

      1)这里使用的是jdk自带的keytool证书来实现验证,实际中可以自己申请证书。这里主要是为了测试,使用linux的环境测试

      2)默认还是要加入设置

    #开启json数据识别
    cas.serviceRegistry.initFromJson=true

      如果需要支持http:

    {
      "@class" : "org.apereo.cas.services.RegexRegisteredService",
      "serviceId" : "^(https|imaps)://.*",
      "name" : "HTTPS and IMAPS",
      "id" : 10000001,
      "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
      "evaluationOrder" : 10000
    }

      在serviceId中加入http

      3)生成证书(这里用的是相对路径,cas.keystore,密码自己set)

    keytool -genkey -alias cas -keyalg RSA -keystore cas.keystore -storepass changeit

      

      备注:如果域名不一样会导致无限重定向

      4)导出证书

    keytool -export -file cas.crt -alias cas -keystore cas.keystore -storepass changeit

       

      

      4)导入jdk(默认是不需要导入的,只是在进一步验证的时候需要导入)

    keytool -import -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -file cas.crt -alias cas -storepass changeit

      

      5)删除证书(cas为设置的别名,这里不做删除)

    keytool -delete -alias cas -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -storepass changeit

      

      6)配置tomcat的server.xml  

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
                   maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" keystoreFile="/root/https/cas.keystore"  
                   keystorePass="changeit"/>

       注释8080端口

    <!-- <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" /> -->

      7)启动项目测试

     

  • 相关阅读:
    590. N 叉树的后序遍历
    CF605E
    网络流水题题单
    wqs二分的边界
    luoguP6326 Shopping
    【THUWC2020】工资分配
    CF1336简要题解
    「PKUWC2020」最小割
    洛谷P4895 独钓寒江雪
    省选联考2020简要题解
  • 原文地址:https://www.cnblogs.com/ll409546297/p/10410972.html
Copyright © 2011-2022 走看看