2016-06-28 7 views
0

Ich habe meine Version 2.5.4 Grails Version von Spring Security gesichert und funktioniert sehr gut. Ich muss das ändern und dem Benutzer nur dann Zugang gewähren, wenn die Antwort eines Restdienstes dies erlaubt. Das heißt, anstatt die Spring-Sicherheitsfunktionalität zu verwenden, um nach einem Benutzernamen/Passwort zu fragen, möchte ich einen Rest-Service anrufen (den ich bereits habe) und wenn dieser Dienst antwortet, dass der Benutzer Zugriff auf die Anwendung hat, möchte ich Zugriff gewähren zu diesem Benutzer. Soweit ich verstehe, muss ich die Authentifizierungsmethode von LoginController von Feder Security Core überschreiben. Brauche ich auch Grails Filter? Könnten Sie mir bitte einen Rat zu diesem Thema geben?Benutzerdefinierte Authentifizierung überschreibt Spring Security

Antwort

0

Dies funktioniert für mich in BootStrap.groovy running grails 3.1.9. Nicht sicher, dass es dir helfen wird, aber es könnte ein Ausgangspunkt sein.

import org.springframework.security.authentication.UsernamePasswordAuthenticationToken 
import org.springframework.security.core.context.SecurityContextHolder as SCH 
... 
SCH.context.authentication = new UsernamePasswordAuthenticationToken(admin.username, admin.password, admin.authorities) 
0

Haben Sie bei der spring security rest plugin (Version 1.5.3 für Grails 2.5.x) sehen und JWTs mit rund um die Authentifizierung zu übergeben?