CAS 5.x搭建常见问题系列(1).未认证的授权服务
错误内容
错误信息如下:
未认证授权的服务
CAS的服务记录是空的,没有定义服务。希望通过CAS进行认证的应用程序必须在服务记录中明确定义
错误原因
CAS 5.x 默认情况下不支持HTTP的客户端接入,建议客户端采用HTTPS协议。
不过,
确实无法升级为HTTP的,
那也可以把CAS Server开启支持HTTP的客户端接入。
具体开发的方法如下:
·1. 修改http支持的配置
打开文件:cas\WEB-INF\classes\services\HTTPSandIMAPS-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配置文件
打开文件cas\WEB-INF\classes\application.properties
增加如下配置
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true
重新启动cas就ok了