Spring Security Frage fuer Fortgeschrittene

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

Folgendes Problem:

1. Ein Nutzer loggt sich

2. Ein Admin sperrt den Nutzer

3. Der Nutzer schickt einen Request ab.

Problem:

Spring Security fuehrt NUR einmal eine Authentifizierung durch. Sprich bei Schritt drei wird der Zugriff nicht verweigert OBWOHL der Nutzer in der DB schon gesperrt ist.

Meine konkrette Frage ist:

Wie schaffe ich es das Spring-Security IMMER eine Pruefung der Daten durchfuehrt ?

Anmerkung bitte auf die Problemstellung achten. Es geht nicht um einen Nutzer der seine Daten aendert, sondern um einen Admin, der die Daten eines anderen Nutzers aendert!

Sprich ich kann nicht einfach den Context aktualisieren. Ich muesste Zugriff auf alle Contexte haben oder auf alle Session des Tomcats. Beide Moeglichkeiten sind so weit ich weiss nicht moeglich.

Meine Idee war einen zusaetzlichen AuthenticationFilter einzubauen. Allerdings muesste dann auch die Methode "requiresAuthentication" ueberschrieben werden, was zu ein paar Problemen fuehrt....

Umgebung:

Spring Security Version: 2.0.1
Spring
JPA mit Hibernate

Code:
    <bean id="permissionVoter" class="org.springframework.security.vote.RoleVoter">
        <property name="rolePrefix" value=""/>
    </bean>

    <bean id="accessDecisionManager" class="org.springframework.security.vote.UnanimousBased">
        <property name="decisionVoters">
            <list>
                <ref bean="permissionVoter"/>    
            </list>
        </property>
        <property name="allowIfAllAbstainDecisions" value="true"/>
    </bean>

    <security:http once-per-request="true" access-decision-manager-ref="accessDecisionManager">
        <security:intercept-url pattern="/processpartner*.do" access="ADMINISTRATEPROCESSPARTNER"/>
        <security:intercept-url pattern="/user*.do" access="ADMINISTRATEUSER"/>
        <security:intercept-url pattern="/*.do" access="COMMON"/>
        <security:form-login login-page='/views/Login.jsp'/>

    </security:http>

    <security:authentication-provider user-service-ref="userService"/>
 
G

Guest

Gast
Bau Dir doch nen Filter, der alle Sessions mitbekommt und mit Rückgriff auf die Authorisierung auch noch die Session einem bestimmten User zuordnen kann. Wenn Du jetzt den User sperrst, kannst Du einfach seine Session invalidaten.

Andererseits kannst Du mit Acegi auch Method-Authorization machen und die wird immer überprüft.

Gruß,

Mika
 
G

Guest

Gast
Ich denke eine Authentifizierung je request zieht ziemlich an der Performance aber soweit ich weiss bietet Spring Security dieses Feature an. Wieso forderst du den Benutzer welcher modifiziert wurde nicht einfach auf sich neu zu Authentifizieren indem du seine Session zerstörst?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MQue Spring Security Form Application Tier 3
I Security bei Spring? Application Tier 31
M Spring DM: Problem mit Tomcat als OSGI-Service Application Tier 1
G Spring/Hibernate exception Application Tier 17
S Spring: Klassen in anderer "Anmelden" Application Tier 16
RaoulDuke Spring - Bugfixes in 2.5.x Application Tier 4
G Spring rollbackFor Application Tier 8
D Spring konfigurieren mit XML, Annotionen oder Java? Application Tier 2
MQue Spring in Zukunft Application Tier 5
I Passwort verschlüsseln in DB mit Spring Application Tier 5
MQue Spring https Application Tier 7
MQue Spring beans Application Tier 10
I Wieviel Projekte bei Spring? Webprojekt Application Tier 2
G Transaktionen Spring Application Tier 58
Y Spring und Hibernate Application Tier 2
K Spring DI existierendes Objekt übergeben Application Tier 2
G Spring applicationContext Application Tier 3
MQue Spring Autowired Application Tier 7
MQue Spring Proxys Application Tier 2
D Problem beim Testen von einer Spring-Anwendung Application Tier 8
MQue Spring BeanFactoryPostProcessor Application Tier 3
MQue Spring ApplicationContext Application Tier 20
S Spring util:list in eine andere importieren Application Tier 15
MQue Einsatz von Spring Application Tier 13
M Konfiguration WebApp/Spring Host-abhängig Application Tier 5
E Migration altes Framework (SOFIA) auf Spring Application Tier 3
D Automatische Typkonvertierung in Spring Application Tier 5
D Spring und Hbernate konfigurieren bzw. verschalten Application Tier 5
A Spring: JSP nimmt style.css nicht an Application Tier 3
Y Spring + MyFaces - Exception bei Serverstart Application Tier 1
Y Maven MyFaces Hibernate Spring - Projekt Application Tier 1
byte [Spring] Referenced Bean not found Application Tier 2
M Spring - Leichtgewichtiger als JBoss? Application Tier 4
D Spring: setter injection von statischer Methode? Application Tier 1
reibi Spring Beans - Grundsatzfrage Application Tier 3
thE_29 Spring und XFire Frage Application Tier 3
H spring Application Tier 2
R Spring und Hibernate3 - CGLib Enhancement failed Application Tier 2
S Spring 2.0 Tutorial gesucht Application Tier 2
M JBoss Seam - Spring Application Tier 11
G [Spring+JSF]: VariableResolver und Scopes? Application Tier 1
D JSF Frage zu Synchronisation zwischen SessionScoped beans Application Tier 11
F Grundlegende Frage zu DepInj in Java EE Application Tier 3
C Frage zu Mehrbenutzerfähigkeit/Timeout Application Tier 5
G EJB Injection Problem und weitere Frage Application Tier 5
G Eine Frage des Geschmacks? Application Tier 4

Ähnliche Java Themen

Neue Themen


Oben