Web安全性的Spring Security:如何在登录页面

时间:2017-01-04 08:09:03

标签: spring spring-mvc spring-security spring-webflow

当我使用Spring Security for Spring Web Flow时 - 如何在登录页面中访问流范围变量?情况:
Web流中的视图状态由<secured/>标记保护。当未经授权的用户进入此状态时,过滤器链会调用登录页面。但是这个登录页面不在流程中。在此登录页面的Spring MVC控制器中,我试图像this answer中那样访问流变量。但是requestContext我得到了空。

1 个答案:

答案 0 :(得分:0)

在不安全的页面上使用流范围变量应该没有问题。我有以下工作正常:

<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>

然后我的login.jsp看起来像:

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

jsp的相关标记头是:

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