在做客户端认证过程中,有些系统不但需要账号,还需要如卡号,mail等其它信息,默认cas认证后返回的是认证账号,要返回多属性,还要做些设置,记录如下:
环境:cas5.3.2 + ldap
首先,服务端要支持返回多属性:
1. application.properties 在原配置好cas使用ldap认证的基础上,增加如下部分
cas.authn.ldap[0].allowMultiplePrincipalAttributeValues=true //允许返回多属性
cas.authn.ldap[0].allowMissingPrincipalAttributeValue=true //允许有些属性是空值
cas.authn.ldap[0].principalAttributeList=sn,cn,mail,displayName //返回的属性列表
2. services 需要授权允许某个应用返回多属性
可以允许返回所有属性列表的值,也可以只允许返回指定的值
(1)返回所有属性列表的值 修改 或增加如test-100000101.json
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^http://X.X.X.X.cn.*",
"name" : "cas test",
"id" : 10000101,
"description" : "CAS Login test X.X.X.X",
"evaluationOrder" : 101
"attributeReleasePolicy" : {
"@class" : "org.apereo.cas.services.ReturnAllAttr