• Cas 服务器 Service(Cas客户端)注册信息维护


    作为Cas服务器,允许哪些客户端接入与否是通过配置来定义的。对Cas服务器来说,每一个接入的客户端与一个Service配置对应;在Cas服务器启动时加载并注册上这些Service,与之对应的客户端才能接入。否则将出现

     

    一、假设Cas服务器为HTTPS类型

    假设我们的Cas服务器运行在8443端口,以HTTPS协议对外提供服务(《Cas 服务器 下载、编译及部署》中的cas服务器配置)。

    1.1 Cas客户端类型为HTTP应用时的配置

    假设我们的Cas客户端以HTTP协议来对外提供服务,对外提供服务的域名及端口信息为:http://localhost:8081。

    注:如果有多个HTTP Cas客户端,要实现用户在A Cas客户端登陆后在B Cas客户端也可被设别,需要在Cas服务器配置文件中将TGC设为非安全模式:

    cas.tgc.secure=false

    1.1.1 在Cas服务器上注册Cas客户端(Service)

    从target>cas>WEB-INF>classes下复制service目录到src>main>resources下,删除复制来目录中的Apereo-10000002.json文件,将HTTPSandIMAPS-10000001.json重命名为TEST-10000003.json,如下图:

    将TEST-10000003.json文件内心修改如下:

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

    注:json文件名字由文件内容中的 name-id 组合而成,关于json文件中的各个属性的涵义及更深入内容可参考https://blog.csdn.net/anumbrella/article/details/82119246

    在pom中添加对json文件services注册支持的依赖

    <dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-json-service-registry</artifactId>
    <version>${cas.version}</version>
    </dependency>

    修改application.properties

    #开启json格式service注册
    cas.serviceRegistry.initFromJson=true
    # Json services 配置位置设定
    cas.serviceRegistry.json.location=classpath:/services

    build run 启动Cas服务器

    1.1.2 在Cas客户端电脑上导入Cas服务器证书

    根据密钥导出证书

     使用之前创建密钥的KeyStore Explorer(下载地址:https://download.csdn.net/download/popo_popo/10750816),打开之前保存的密钥库文件。

    证书导入

     使用keytool进行证书导入工作,证书导入完成后用Cas客户端访问成功!

    登陆成功后返回受保护的地址

    注:如果Cas客户端不导入证书,Cas客户端程序将会出现证书异常而结束执行。关于Cas客户端的内容将放在后续文章之中。

    1.2 Cas客户端类型为HTTPS应用时的配置

     请关注后续文章

    二、假设Cas服务器为HTTP类型

    假设我们的Cas服务器运行在8080端口,以HTTP协议对外提供服务(《Cas 服务器 使用HTTP协议对外服务》中的cas服务器配置)。

    2.1 Cas客户端类型为HTTP应用时的配置

    该配置与1.1.1中的配置完全相同,因为不使用HTTPS,所以不用导入证书操作。

  • 相关阅读:
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    SQL Server
    ssh保持连接不断开
    如何查看linux是否打开虚拟化
    dd命令详解
  • 原文地址:https://www.cnblogs.com/dw039/p/9869762.html
Copyright © 2020-2023  润新知