In diesem Artikel wird ein Beispiel für den Spring Boot integriert, der den CAS-Client integriert, um eine Anmeldeverifizierung zu implementieren. Es wird mit Ihnen geteilt und hinterlässt auch eine Notiz. Die Details sind wie folgt:
Single Sign-On (kurz SSO) ist eine der beliebtesten Lösungen für die Integration der Unternehmensgeschäfts. Mit SSO können Benutzer nur einmal auf alle gegenseitig vertrauenswürdigen Anwendungssysteme in mehreren Anwendungssystemen zugreifen.
CAS -Kunde
Verantwortlich für den Umgang mit Zugriffsanfragen an die von den Kunden geschützten Ressourcen. Wenn es notwendig ist, die anforderende Partei zu authentifizieren, leitet es zur Authentifizierung zum CAS -Server weiter. (Grundsätzlich akzeptieren Client -Anwendungen keinen Benutzernamen, Kennwort usw.).
Implementierungsmethode eins: Verwenden Sie einen Starter von Drittanbietern
1. Abhängig vom Glas
<Depopenty> <gruppe> net.unicon.cas </Groupid> <artifactid> cas-client-autoconfig-Support </artifactid> <version> 1.4.0-ga </Version> </abhängig>
2. Fügen Sie Konfigurationsdateien hinzu
Cas.server-url-prefix = http: //127.0.0.1 Cas.server-login-url = http: //127.0.1/login cas.client-host-url = http: //192.26.28: 8080 CAS.VALIDATE-
3. Schalten Sie den CAS -Client -Support ein
@SpringBootApplication @Componentscan (Basepackages = {"com.chhliu.emailservice"}) @enableCasclient // Aktivität von Cas Support Public Class erweitert SpringbootServletInitializer {public static void Main (String [] args) {{SpringaplyRun.Run.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS.ClASS, Argument). }}In den oben genannten 3 Schritten können Sie die CAS -Client -Authentifizierung ausfüllen!
4. Erweitern
Cas.Validation-Typ unterstützt derzeit 3 Methoden: 1. CAS; 2. Cas3; 3.. Saml
Andere verfügbare Konfigurationen sind wie folgt:
Cas.Authentication-URL-Muster Cas.validation-urm-Muster Cas.Request-Mrapper-Ull-Muster Cas.assertion-thread-Local-Ull-Bohryns Cas.gateway Cas.use-Session Cas.Redirect-After-After-After-After-Validation Cas. cas.accept-any-proxy server.context-parameters.renew
Die spezifische Bedeutung kann deutlich aus dem Namen ersichtlich sein.
Implementierungsmethode 2: Manuelle Konfiguration
Wir haben CAS -Client verwendet und mussten Folgendes in Web.xml konfigurieren:
<Filter> <filter-name> AuthentifizierungFilter </filter-name> <filterklasse> org.jasig.cas.client.authentication.AuthenticationFilter </filter-classe> <init-param> <param-name> casserverloGinurl </param-name> <PARAM-VALUE> http://127.0.0.1/login </param-Value> </init-param> <init-param <Filter-name> authenticationFilter </filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-Dieser Filter ist für die Überprüfung des Tickets verantwortlich und muss aktiviert werden-> <Filter> <Filter-Name> ValidationFilter </filter-name> <filterklasse> org.jasig.cas.client.validation.cas20Proxyreceice TicketValidationFilter </Filter-Class> <init-param> <param-name> casserverurlprefix </param-name> </param-value> http:/127.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. <init-param> <param-name> servername </param-name> <param-value> http://192.26.4.28:8080 </param-value> </init-param> <!-<init-param <init-param> <param-name> useSession </param-name> <param-value> true </param-value> </init-param>-> </filter> <filtermapping> <filter-name> validationfilter </filter-name HttpServletRequest, z. B. den Entwicklern, den Anmeldenamen des SSO-angemeldeten Benutzers über die Methode GetRemoteuser () von httpServletRequest und optionale Konfiguration zu erhalten. -> <Filter> <Filter-name> httpServletRequestWrapperFilter </filter-name> <Filterklasse> org.jasig.cas.client <URL-Muster>/*</url-puster> </filtermapping>
Wenn wir manuell konfigurieren, müssen wir daher den entsprechenden Filter in der obigen XML manuell konfigurieren, und der Code lautet wie folgt:
@Configuration @Component Public Class CasconFigure {@Bean public FilterregistrationBean AuthenticationFilterRegistrationBean () {FilterregistrationBean AuthenticationFilter = new FilterRegistrationBean (); AuthenticationFilter.SetFilter (New AuthenticationFilter ()); Karte <String, String> Initparameters = new HashMap <String, String> (); initparameters.put ("casserverloginurl", "http://127.0.0.1/login"); Initparameters.put ("ServerName", "http://192.26.4.28:8080"); AuthenticationFilter.SetInitParameters (Initparameters); AuthenticationFilter.SetOrder (2); Liste <String> urlpatterns = new ArrayList <string> (); urlpatterns.add ("/*"); // Die passende URL -Authentifizierung festlegen. Return AuthenticationFilter; } @Bean public FilterregistrationBean ValidationFilterRegistrationBean () {FilterregistrationBean AuthenticationFilter = new FilterRegistrationBean (); AuthenticationFilter.SetFilter (New Cas20ProxyreceiveticketValidationFilter ()); Karte <String, String> Initparameters = new HashMap <String, String> (); initparameters.put ("casserverurlprefix", "http://127.0.0.1"); Initparameters.put ("ServerName", "http://192.26.4.28:8080"); AuthenticationFilter.SetInitParameters (Initparameters); AuthenticationFilter.SetOrder (1); Liste <String> urlpatterns = new ArrayList <string> (); urlpatterns.add ("/*"); // Setzen Sie die passende URL -AuthentifizierungFilter.seturlpatterns (urlpatterns); Return AuthenticationFilter; } @Bean public FilterregistrationBean CashttpServletRequestWrapperFilter () {FilterregistrationBean AuthenticationFilter = new FilterregistrationBean (); AuthenticationFilter.SetFilter (New httpServletRequestWrapperFilter ()); AuthenticationFilter.SetOrder (3); Liste <String> urlpatterns = new ArrayList <string> (); urlpatterns.add ("/*"); // Setzen Sie die passende URL -AuthentifizierungFilter.seturlpatterns (urlpatterns); Return AuthenticationFilter; } @Bean public FilterregistrationBean CasasSertionThreadLocalFilter () {FilterregistrationBean AuthenticationFilter = new FilterregistrationBean (); AuthenticationFilter.SetFilter (neue AssertionThreadLocalFilter ()); AuthenticationFilter.SetOrder (4); Liste <String> urlpatterns = new ArrayList <string> (); urlpatterns.add ("/*"); // Setzen Sie die passende URL -AuthentifizierungFilter.seturlpatterns (urlpatterns); Return AuthenticationFilter; }} Durch die obige Konfiguration kann auch die CAS -Client -Authentifizierung abgeschlossen werden
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.