Implementierung von CAS mit Spring Security 3
Ich habe momentan spring security konfiguriert und arbeiten korrekt. Ich will CAS zu arbeiten, so kann ich ein single-sign-on über mehrere apps, die ich geschrieben habe. Ich bin verwirrt, wie kann ich machen cas-nutzen Sie meine benutzerdefinierte userdetailService.
Derzeit die ich habe, ist meine spring-security.xml
<authentication-manager alias="authManager">
<authentication-provider user-service-ref="userDetailsService">
<password-encoder ref="passwordEncoder">
<salt-source ref="saltSource"/>
</password-encoder>
</authentication-provider>
</authetication-manager>
Aus aller Zertifizierungsstellen, die Beispiele, die ich gefunden haben, sagen Sie zum implementieren der Verwaltung auf diese Weise:
<beans:bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider">
<beans:property name="authenticationUserDetailsService">
<beans:bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
<beans:constructor-arg ref="userDetailsService"/>
</beans:bean>
</beans:property>
<beans:property name="serviceProperties" ref="serviceProperties"/>
<beans:property name="ticketValidator">
<beans:bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
<beans:constructor-arg index="0" value="https://localhost:8443/cas"/>
</beans:bean>
</beans:property>
<beans:property name="key" value="1234554321"/>
</beans:bean>
<authentication-manager alias="authManager">
<authentication-provider ref="casAuthenticationProvider"/>
</authentication-manager>
Die Dokumentation ist verwirrend. Wie gelange ich von a working spring-security-app ein, die Zertifizierungsstellen und immer noch meine custom user details? Auch was muss ich ändern, auf die jsp-Seiten? Jede Hilfe wäre sehr geschätzt werden.
Dank
- Was meinst du mit "implementiert cas und immer noch meine custom user details"? Wenn Sie einen CAS-Server, die Sie möchten, dass der server für die Authentifizierung. Ihre Anwendung wird nicht mehr machen. (vielleicht möchten Sie den anonymen Zugriff zulassen, jedoch).
- In meinem spring security-app musste ich ein passwordencoder und saltsource Bohnen zu verschlüsseln, meine Passwörter. Ich habe auch hada Gewohnheit UserDetails-bean implementiert UserDetailsService. Ich glaube, ich bin verwirrt, wie Sie diesen port über cas so alles funktioniert noch so wie es ist. Ich habe auch meine eigenen Rollen, Berechtigungen, etc.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie wollen die Zertifizierungsstellen, die zur Authentifizierung des Passwort durch Ihr eigenes Passwort+salt encoder.
Leider, es ist kein straight-forward-Konfiguration und die Konfiguration ist nicht in den Frühlings-apps.
Müssen Sie neu kompilieren zu CAS um Ihre benutzerdefinierten Kennwort+salt encoder.
Also, wenn der Frühling ruft CAS für die Authentifizierung, die dasselbe benutzerdefinierte Passwort+salt-encoder verwendet werden.
Glücklicherweise CAS-team geschaffen hat, KRIEG Overlay-Ansatz, so dass es einfach für den Benutzer zu kompilieren, CAS-server, um benutzerdefinierte Passwort+salt Encoder
Die Dokumentation ist hier
https://wiki.jasig.org/display/CASUM/Best+Practice+-+Setting+Up+CAS+Locally+using+the+Maven2+WAR+Overlay+Method
Müssen Sie sehr geduldig sein, um die Schritte und stellen Sie sicher, dass Ihr system hat Maven2
Sie brauchen nicht zum download library wie Maven wird sich darum kümmern.
Die grundlegende Idee des KRIEGES Overlay-Ansatz ist das erstellen eines maven gesteuert-Ordner, wo Sie können Unterordner erstellen, um Ihre benutzerdefinierten java-Bibliotheken.
Maven wird verwendet, um neu kompiliert benutzerdefinierten java-code zusammen mit der CAS-Dateien zu erzeugen, eine war-Datei, wo können Sie Sie veröffentlichen, um einen SSL-server.
Nur stellen Sie sicher, dass CAS und Spring-Apps, die SSL verwenden.
Glück!
Hier sind die Schritte, die ich empfehlen würde bei der Einrichtung eines CAS-Infrastruktur