2016-04-28 9 views
0

Ich verwende Spring-Security-Core v2.0 integriert mit Spring-Security-SAML-Erweiterung V 1.0.1-RELEASE in einer Grails-Anwendung. Nach der Implementierung loadUserBySaml Methode (eine Implementierung von SAMLUserDetailsService), leider, wenn Benutzer Attribut enabled auf false, DisabledException ist nicht geworfen, muss ich es explizit in dieser Methode, die nicht der von Spring Security empfohlene Standard-Mechanismus ist.Spring Security SAML DisabledException nicht ausgelöst

Antwort

0

Gemäß der Feder docs Feder wird nicht vom Benutzer DisabledException werfen, wenn Sie Attribut mit dem Namen „freigegeben“ haben .. Es wird werfen nur org.springframework.security.core.userdetails.UsernameNotFoundException Siehe: Spring loadUserBySAML Method

Sie haben Ihre benutzerdefinierte Ausnahme können und es bei Bedarf werfen.

+0

Vielen Dank für Ihre Antwort, aber das ist, was ich bereits getan habe. Ich bin immer noch verwirrt, warum ich eine benutzerdefinierte Ausnahme explizit werfen muss, Frühling saml Erweiterung in diesem Fall nicht bestimmte Ausnahmen für diese Art von Zahlen definieren. Dies ist auch der Fall für eine abgelaufene Benutzerausnahmebedingung oder eine durch Benutzerkontensperre gesperrte Ausnahme. – user2394091

+0

Soweit ich weiß, bietet Spring Saml Erweiterung nur begrenzte Fähigkeiten ... Sie überprüfen Benutzer/Prinzipal Objekt existiert als Teil der Saml-Antwort oder nicht ... Wenn Ueser/Principal-Objekt existiert sie die gleichen in SpringContext, wenn nicht werfen UsernameNotFoundException. In meiner Implementierung habe ich Spring nur für Benutzernamen und Berechtigungen gesehen. Wenn Sie zufrieden sind, vergessen Sie nicht, es als Antwort zu markieren. Der oben erwähnte Link erklärt deutlich, was ein loadUserBySAML tun könnte. – meetarun

Verwandte Themen