CAS 5.x搭建常见问题系列(1).未认证的授权服务

错误内容


  错误信息如下:

未认证授权的服务
CAS的服务记录是空的,没有定义服务。希望通过CAS进行认证的应用程序必须在服务记录中明确定义

错误原因


 CAS 5.x 默认情况下不支持HTTP的客户端接入,建议客户端采用HTTPS协议。

不过,

确实无法升级为HTTP的,

那也可以把CAS Server开启支持HTTP的客户端接入。

具体开发的方法如下:

·1. 修改http支持的配置

打开文件:casWEB-INFclassesservicesHTTPSandIMAPS-10000001.json

复制代码
1 {
2   "@class" : "org.apereo.cas.services.RegexRegisteredService",
3   "serviceId" : "^(https|imaps)://.*",
4   "name" : "HTTPS and IMAPS",
5   "id" : 10000001,
6   "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
7   "evaluationOrder" : 10000
8 }
复制代码

第三行改为 (https|http|imaps)

即修改后的 文件为

复制代码
1 {
2   "@class" : "org.apereo.cas.services.RegexRegisteredService",
3   "serviceId" : "^(https|http|imaps)://.*",
4   "name" : "HTTPS and IMAPS",
5   "id" : 10000001,
6   "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
7   "evaluationOrder" : 10000
8 }
复制代码

·2. 启用记载JSON配置文件

打开文件casWEB-INFclassesapplication.properties

增加如下配置

cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

重新启动cas就ok了

原文地址:https://www.cnblogs.com/liuys635/p/14320635.html