Ich habe das gleiche Problem wie einige andere Fragen hier, von denen keine wirklich beantwortet wurden; das heißt, mit CAS 4.x (eigentlich 4.2.6) kann ich keine LDAP-Attribute erhalten, um zur Client-Anwendung zurückzukehren.CAS 4.x, & LDAP-Attribute
Question 1 Dies scheint übertrieben; benutzerdefinierter Code, um ein "einfaches" Problem zu umgehen.
Question 2 Wäre dies bereits getan, und es hat nicht funktioniert.
Also, es ist jetzt bin ich dran ... zu fragen, ist es eine Magie, es Arbeit zu machen? Wir haben 3,5 lange ohne Probleme verwendet. Ich versuche, diese Einstellungen in die 4.x Maven Overlayer und neue Kontextkonfiguration von 4.x zu konvertieren, und es geht nicht.
Ich kann in den Protokollen sehen, die CAS anfordert, und bekommen die Eigenschaften Ich bin für von LDAP suchen. Aber sie werden nicht in den Token zurück in die Anwendung gebracht.
Was muss darüber hinaus getan werden, was die Apereo Dokumentation legt? Ich denke, es ist das Attribut Repository vielleicht ??? Wenn dir etwas dabei helfen würde, frag mich einfach: Config, Logs (natürlich redigiert) ... alles.
Danke.
Update # 1. Hier ist meine Resolverliste. HINWEIS: Ich behalte Code/Einstellungen an Ort und Stelle auskommentiert, bis ich es zum Arbeiten bekomme, bevor ich Sachen säubere.
<util:map id="authenticationHandlersResolvers">
<!--
<entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
<entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />
-->
<!--<entry key-ref="ldapAuthenticationHandler" value-ref="primaryPrincipalResolver" /> -->
<entry key-ref="ldapAuthenticationHandler" value="#{null}" />
</util:map>
Update # 2
ich mehr Tests gemacht habe, und bin immer noch nicht erfolgreich. Ich denke, es kommt auf die principalAttributeMap des LdapAuthenticationHandler nicht funktioniert, oder die attributeReleasePolicy der serviceRegistryDao ... jemand sieht irgendwelche Probleme in dieser Konfiguration?
<bean id="ldapAuthenticationHandler" class="org.jasig.cas.authentication.LdapAuthenticationHandler"
p:principalIdAttribute="sAMAccountName"
c:authenticator-ref="authenticator"
>
<property name="principalAttributeMap">
<map>
<entry key="cn" value="cn" />
<entry key="mail" value="Email" />
<entry key="memberOf" value="Groups" />
<entry key="displayName" value="displayName" />
</map>
</property>
</bean>
<bean id="serviceRegistryDao" class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
<property name="registeredServices">
<list>
<bean class="org.jasig.cas.services.RegexRegisteredService"
p:id="5"
p:name="All Servicesxxx"
p:description="Allow connections for all services and protocols"
p:serviceId="^(http|https|imaps)://.*"
p:evaluationOrder="5"
>
<property name="attributeReleasePolicy">
<bean class="org.jasig.cas.services.ReturnAllAttributeReleasePolicy" />
</property>
</bean>
</list>
</property>
</bean>
Haben Sie die # {null} Sache tun, wie in der zweiten Frage gesagt? Ich empfehle Ihnen, den JSON nicht zu verwenden. Dies verursachte Probleme auf meinem CAS-Server. Überprüfen Sie meine Antwort auf meine Frage (Frage 1) und sehen Sie, ob es Ihnen hilft. – Goldi
Ja, ich habe die # {null} Änderung in der Liste der Authentifizierungshandler-Resolver durchgeführt. Es hat nicht geholfen. –
Ich beantwortete meine Frage (Frage 1). Alles, was ich dort geschrieben habe, funktioniert für mich außer dem, was ich beschrieben habe. Benutzt du diese Datei? – Goldi