IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Gestion du cache [Security]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut Gestion du cache
    Bonjour,
    J'utilise ACEGI pour gérer l'authentification/habilitation de mon application web.
    Les rôles sont gérés dans une base de données.
    J'ai un problème lié au cache :
    Lorsque j'utilise le cache :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <property name="userCache">
    	<bean class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
    		<property name="cache">
    			<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">
    				<property name="cacheManager">
    					<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
    				</property>
    				<property name="cacheName" value="xxUserCache"/>
    			</bean>
    		</property>
    	</bean>
    </property>
    et que je modifie les rôles associés à un utilisateur qui s'est déjà connecté, même si l'utilisateur se déconnecte (en utilisant le j_acegi_logout), les nouveaux rôles ne sont pas pris en compte.
    Par contre, si je mets en commentaire l'utilisation du cache, ça fonctionne très bien... mais je n'ai plus de cache ;-(
    Savez-vous s'il est possible d'effacer le cache "manuellement".. j'ai vu qu'il ya avait des méthodes destroy sur EhCacheManagerFactoryBean... mais comment s'en servir?

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Je me réponds à moi-même ;-)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext());
    DaoAuthenticationProvider daoAuthenticationProvider = (DaoAuthenticationProvider) context.getBean("dbDaoAuthenticationProvider"); // spécifier dans le fichier Spring
    daoAuthenticationProvider.getUserCache().removeUserFromCache(user);
    il suffit de récupérer l'objet "Spring" et d'utiliser la méthode removeUserFromCache(..).
    J'ai trouvé la solution ici.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion du cache en Load Balancing
    Par loic_86 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 10/09/2007, 10h00
  2. [cache] Gestion du cache en général
    Par Maxoo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 15/12/2006, 10h21
  3. Gestion du cache d'un ResulSet
    Par skunkies dans le forum JDBC
    Réponses: 1
    Dernier message: 30/10/2006, 18h12
  4. [Sécurité] Gestion du cache / cookies
    Par dug dans le forum Langage
    Réponses: 4
    Dernier message: 25/01/2006, 21h17
  5. [Xml][Memoire] gestion du cache
    Par tatou42 dans le forum Format d'échange (XML, JSON...)
    Réponses: 11
    Dernier message: 21/09/2005, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo