Wie programmiere ich einen Benutzer programmgesteuert mit Spring-security?

8

Ich muss Benutzer, die über Facebook API authentifiziert wurden, programmatisch anmelden. Der Grund dafür ist, dass es eine Anzahl von Elementen gibt, die jedem Benutzer zugeordnet sind (zum Beispiel Einkaufswagen), daher muss der Benutzer, sobald er sich mit der Facebook API authentifiziert hat, auch mit Spring Security einloggen, um darauf zugreifen zu können sein / ihr Einkaufswagen.

Nach meinen Nachforschungen gibt es viele Methoden, um es zu implementieren, aber ich konnte keine von ihnen bereitstellen, da ich eine Anmeldeanforderung von meinem Code sende, ein weiteres Problem ist, dass einige Leute Benutzerobjekt erstellt haben, aber sie haben nicht erklärt wie man es erstellt.

Diejenigen, die ein Benutzerobjekt erstellt haben, aber nicht erklärt haben, wie.

Vom ersten Beispiel: diese Antwort

> %Vor%

Vom zweiten Beispiel: dieses

%Vor%

Vom dritten Beispiel: dieses

%Vor%

Ein anderes Beispiel ist hier , es hilft nicht, weil ich Benutzer von meinem eigenen Code nicht vom Browser anmelden muss; daher kann ich das HttpServletRequest-Objekt nicht füllen.

%Vor%

MeinCode

%Vor%     
Jack 22.08.2014, 05:23
quelle

2 Antworten

6

Leider scheint es keine "vollständige" Unterstützung der programmatischen Anmeldung in Spring-Sicherheit zu geben. Hier ist, wie ich es erfolgreich gemacht habe:

%Vor%

UPDATE Im Wesentlichen wird das gleiche von Spring's RememberMeAuthenticationFilter.doFilter()

gemacht     
Roman Sinyakov 10.08.2016 08:28
quelle
3

Dieser Code stammt von Grails 'Spring Security Core -Plugin , das unter der Apache 2.0-Lizenz veröffentlicht wurde. Ich habe die Importe nur hinzugefügt, um auf die Typen genau hinzuweisen. Der ursprüngliche Autor ist Burt Beckwith.

%Vor%

Die getBean -Methode stellt lediglich die Bean aus dem Anwendungskontext zur Verfügung.

    
heikkim 22.08.2014 05:52
quelle

Tags und Links