Spring Security Concurrency Control

8

Ich habe Spring security 3.0.7 verwendet und implementiere in meinem Projekt die Steuerung des gemeinsamen Zugriffs. Aber es funktioniert nicht. Ich habe

benutzt %Vor%

Auch ich habe eine Lösung aus Federsicherheit versucht Referenz , aber es hat nicht funktioniert. Hier ist der Inhalt meiner Konfigurationsdatei:                   

%Vor%

Ich bekomme folgende Ausnahme:

%Vor%

Kann jemand mit dieser Frage helfen?

    
Nandkumar Tekale 21.12.2011, 08:22
quelle

5 Antworten

2

Wenn Sie UserPrincipal und UserPrincipalImpl (Ihre eigene Implementierung) geschrieben haben, sollten Sie die Methoden equals() und hashCode() des Objekts überschreiben.

    
Nandkumar Tekale 01.01.2012, 09:56
quelle
4

Wenn Sie das Namespace-Element concurrency-control verwenden, a ConcurrentSessionFilter wird der Filterkette automatisch hinzugefügt , daher können Sie custom-filter nicht verwenden, um einen am selben Ort hinzuzufügen, sonst wird dieser Fehler angezeigt.

Das gleiche Problem tritt auf, wenn Sie form-login (oder auto-config ) verwenden und versuchen, eine UsernamePasswordAuthenticationFilter mit custom-filter hinzuzufügen. Es sieht so aus, als ob dies das spezifische Problem verursacht, das Sie hier haben (mit Ihrer Bean myAuthFilter ).

Sie sollten wahrscheinlich den Rest Ihrer http -Elementkonfiguration zu der Frage hinzufügen, um deutlicher zu machen, woher der Konflikt kommt.

    
Shaun the Sheep 27.12.2011 12:23
quelle
4

Die Dokumentation sagt:

  

Fügt Unterstützung für die gleichzeitige Sitzungssteuerung hinzu, wodurch die Anzahl der aktiven Sitzungen begrenzt werden kann, die ein Benutzer haben kann. A ConcurrentSessionFilter wird erstellt, und ConcurrentSessionControlStrategy wird mit SessionManagementFilter verwendet. Wenn ein Formular-Login-Element deklariert wurde, wird das Strategieobjekt ebenfalls in den erstellten Authentifizierungsfilter eingefügt. Eine Instanz von SessionRegistry (eine SessionRegistryImpl -Instanz, es sei denn, der Benutzer möchte eine benutzerdefinierte Bean verwenden) wird für die Verwendung durch die Strategie erstellt.

Sie können das benutzerdefinierte Filter-Tag hier nicht verwenden. Deshalb könnte es Fehler geben. Ich habe den Inhalt dieser URL übernommen. Sieh dir das an:

Referenz: Ссылка

    
virata 28.12.2011 12:30
quelle
1

Fügen Sie Folgendes zu web.xml hinzu:

%Vor%     
maali 21.12.2011 09:15
quelle
1

Ich habe die folgende applicationContext-security.xml und es funktioniert perfekt

%Vor%

Um es richtig zu testen, sollten Sie Folgendes tun: Öffnen Sie die Websites in zwei verschiedenen Browsern und löschen Sie die Cookies. Beim ersten Mal kann man sich beim 2. Mal nicht einloggen. In beiden Fällen sollte das HTTP-Authentifizierungsformular vom Browser angezeigt werden. Wenn Sie dies nicht sehen, bedeutet dies, dass Sie bereits in einer vorherigen Sitzung authentifiziert wurden. Daher müssen Sie Ihre Cookies löschen. (um auf der sicheren Seite zu sein, sollten Sie es mit zwei verschiedenen Browsern testen, ansonsten werden die Cookies mit geteilt)

    
Peter Szanto 27.12.2011 14:09
quelle

Tags und Links