JSF 2.2 CSRF保护欢迎页面吗?

时间:2018-10-04 12:40:12

标签: jsf-2.2

我有一个使用jsf 2.2.18和richfaces 4.5.16的JSF应用程序,我正在尝试配置JSF 2.2规范的CSRF功能。

我在faces-config.xml中定义了受保护视图页面的列表

<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
    version="2.1">

    <protected-views>
        <url-pattern>/pc/audit/historyResults.xhtml</url-pattern>
        <url-pattern>/pc/audit/historySearch.xhtml</url-pattern>
    </protected-views>

</faces-config>

然后我的web.xml将欢迎文件定义为

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    id="WebApp_ID" version="2.5">

    <welcome-file-list>
        <welcome-file>welcome.xhtml</welcome-file>
    </welcome-file-list>

访问应用程序并尝试打开“ pc / audit / historyResults.xhtml”页面时,我得到

jsf.lifecycle.invalid.referer=JSF1099: Referer [sic] header value 'http://localhost/context/pc/welcome.xhtml' does not appear to be a protected view.
Preventing display of 'http://localhost/context/pc/audit/historyResults.xhtml'

如果我在受保护的视图中添加“ /pc/welcome.xhtml”,由于未生成javax.token,我什至无法访问欢迎页面。

这里缺少一些配置步骤吗?

0 个答案:

没有答案