Yes, same method. Statically listing when the base attribute is released.
In WEB-INF/view/jsp/protocol/3.0/casServiceValidationSuccess.jsp
<cas:attributes>
<c:forEach var="attr"
items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}">
<c:choose>
<c:when test="${fn:escapeXml(attr.key) == 'uid'}">
<cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}>
<cas:UDC_IDENTIFIER>${fn:escapeXml(attr.value)}</cas:UDC_IDENTIFIER>
</c:when>
<c:otherwise>
<cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}>
</c:otherwise>
</c:choose>
</c:forEach>
</cas:attributes>
Could have been made prettier...
It was documented for 3.x on the old jasig cas server user manual, but
can't find any info that it was carried forward into 4+. I came on after 3
so I am unsure if we had it set up.
https://wiki.jasig.org/display/casum/attributes#Attributes-Configuringmulti-valuedkeysupportforattributes
On Tuesday, January 3, 2017 at 12:09:39 PM UTC-5, apcausey wrote:
>
> Did you have a 1:* mapping setup in CAS 4.x? If so, how did you do that?
>
> I haven't gotten around to upgrading to CAS 5.x yet, but do have a need
> for this currently in CAS 4.
>
> thanks.
>
> On Tue, Jan 3, 2017 at 10:34 AM, Christopher Boyer <[email protected]
> <javascript:>> wrote:
>
>> Leaving this here in case it helps. If I am incorrect, let me know.
>>
>> I could not get a 1:* mapping of ldap attributes to work in CAS 5.0.1. I
>> have an internal identifier 'uid' in ldap that needs to be released as both
>> 'uid' and 'UDC_IDENTIFIER'. I am only able to get cas to release 1:1, the
>> last one mapped in cas.properties. To solve I overrode
>> templates/protocol/3.0/casServiceValidationSuccess.html to statically
>> output a duplicate attribute with tag name replaced when UDC_IDENTIFIER is
>> hit.
>>
>> changed
>> <cas:attributes th:if="${not
>> #lists.isEmpty(formattedAttributes)}">
>> <div th:each="attr : ${formattedAttributes}" th:remove="tag">
>> <div th:utext="${attr}" th:remove="tag"/>
>> </div>
>> </cas:attributes>
>>
>>
>> to
>> <cas:attributes th:if="${not
>> #lists.isEmpty(formattedAttributes)}">
>> <div th:each="attr : ${formattedAttributes}" th:remove="tag">
>> <div th:utext="${attr}" th:remove="tag"/>
>> <div th:if="${#strings.contains(attr, 'UDC_IDENTIFIER')}"
>> th:remove="tag">
>> <span th:utext="${#strings.contains(attr,
>> 'UDC_IDENTIFIER')} ? ${#strings.replace(attr, 'UDC_IDENTIFIER', 'uid')} :
>> ${attr}" th:remove="tag"/>
>> </div>
>> </div>
>> </cas:attributes>
>>
>>
>>
>> --
>> - CAS gitter chatroom: https://gitter.im/apereo/cas
>> - CAS mailing list guidelines:
>> https://apereo.github.io/cas/Mailing-Lists.html
>> - CAS documentation website: https://apereo.github.io/cas
>> - CAS project website: https://github.com/apereo/cas
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "CAS Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit
>> https://groups.google.com/a/apereo.org/d/msgid/cas-user/41c3568a-6df7-4b41-8505-ea3a0f0474da%40apereo.org
>>
>> <https://groups.google.com/a/apereo.org/d/msgid/cas-user/41c3568a-6df7-4b41-8505-ea3a0f0474da%40apereo.org?utm_medium=email&utm_source=footer>
>> .
>>
>
>
--
- CAS gitter chatroom: https://gitter.im/apereo/cas
- CAS mailing list guidelines: https://apereo.github.io/cas/Mailing-Lists.html
- CAS documentation website: https://apereo.github.io/cas
- CAS project website: https://github.com/apereo/cas
---
You received this message because you are subscribed to the Google Groups "CAS
Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/a/apereo.org/d/msgid/cas-user/ca5353aa-3bfb-44db-8dba-726893041b35%40apereo.org.