2017-01-04 2 views
0

Wenn ich Spring Security für Spring Web Flow verwende - wie kann ich auf der Anmeldeseite auf Variablen mit dem Variablenbereich zugreifen? Die Situation:
Ein Ansichtszustand im Web-Flow wird durch ein <secured/> Tag gesichert. Wenn ein nicht autorisierter Benutzer diesen Status eingibt, ruft die Filterkette die Anmeldeseite auf. Diese Anmeldeseite befindet sich jedoch außerhalb des Datenflusses. Im Spring MVC-Controller dieser Login-Seite habe ich versucht, auf die Flussvariable wie in this answer zuzugreifen. Aber ich bekomme Null für requestContext.Spring Security für den Webfluss: Zugriff auf Variablen auf der Anmeldeseite

Antwort

0

Es sollte kein Problem mit Flow-Scoped-Variablen auf ungesicherten Seiten geben. Ich habe die folgende, die ok funktioniert:

<flow xmlns="http://www.springframework.org/schema/webflow" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/webflow 
     http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd"> 

    <view-state id="start" model="userForm" view="user/login"> 
     <on-entry> 
      <set name="flowScope.titleCode" value="'login'" /> 
      <set name="flowScope.login_error" value="requestParameters.login_error" /> 
      <set name="flowScope.showRecaptcha" value="recaptchaService.showRecaptcha()" /> 
     </on-entry> 
    </view-state> 

Dann sieht mein login.jsp wie:

<h2> 
    <spring:message code="title_${titleCode}" /> 
</h2> 

Die entsprechenden Tag-Header für die jsp sind:

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> 
+0

Ich habe versucht, diese out, aber die Variable ist nicht von der Anmeldeseite aus zugänglich. Vielleicht liegt es daran, dass ich meine eigene Login-Seite benutze - das heißt: In meiner Konfiguration ruft die konfigurierte 'HttpSecurity.loginPage' eine Spring MVC LoginController-Klasse auf, die dann die Login-Seite anzeigt. Was ist dein Setup? – olivmir

Verwandte Themen