1

Je dois implémenter la gestion de session dans la sécurité de printemps, mais une erreur se produit lors du déploiement de l'application sur tomcat. L'application tente d'extraire les valeurs de propriété invalid-session-url et expired-url à partir du fichier de propriétés, mais en obtenant une erreur lors du déploiement. Je n'obtiens cette erreur que sur la balise de gestion de session. Quelqu'un a quelquonque idée.Erreur lors de la lecture de la valeur du fichier de propriétés dans spring security: balise de gestion de session

Répondre

0

rapidement configuré une application de sécurité de printemps et ma configuration contiennent suivante et il fonctionne très bien (note l'injection de propriétés dans la balise de gestion de session)

test.properties

mytestservice=MyApp 
loginurl=/my-login.html 
invalidsessionurl=/my-login.html 

config de sécurité Spring

<bean id="webPropertyConfigurer" 
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="ignoreResourceNotFound" value="true" /> 
     <property name="ignoreUnresolvablePlaceholders" value="true" /> 
     <property name="locations"> 
      <list> 
       <value>classpath:test.properties</value> 
      </list> 
     </property> 
    </bean> 



    <security:http> 
     <security:intercept-url pattern="/my-login.jsp" access="permitAll" /> 
     <security:intercept-url pattern="/**" access="hasRole('USER')" /> 
     <security:form-login login-page="${loginurl}" 
          authentication-failure-url="${loginurl}?error" /> 
     <security:http-basic /> 
     <security:session-management invalid-session-url="${invalidsessionurl}/logout?service=${mytestservice}" session-fixation-protection="newSession" /> 
     <security:logout /> 
    </security:http> 
+0

Je récupère ces valeurs en utilisant la recherche JNDI mais en obtenant une erreur sur la balise de gestion de session. \t \t

+0

Causé par: java.lang.IllegalArgumentException: l'URL doit commencer par '/' ou avec 'http (s)' –

+0

Ceci est une erreur de validation lancée par la sécurité de printemps - Soit votre chaîne d'URL que vous obtenez à partir de la recherche JNDI est nulle ou vide OU votre URL ne commence pas par une barre oblique ou un http (s). Par exemple, dans mon cas, si je donne le loginurl = my-login.html (ici j'ai supprimé la barre oblique), j'obtiens une erreur similaire au démarrage de l'application. Donc l'url doit être soit relatif en commençant par slash ou absolu avec le protocole http (s) au début. – Shailendra