klarkimming
Grünschnabel
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 bzw. loeschen. 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
Config:
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 bzw. loeschen. 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
Config:
Code:
<!-- Security -->
<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"/>