gpt4 book ai didi

security - JSF 安全 : page redirect vs. 页面转发

转载 作者:行者123 更新时间:2023-12-05 01:11:36 24 4
gpt4 key购买 nike

我是 JSF 的新手,我想了解为什么页面重定向和页面转发不会产生相同的安全渲染。

我有一个调用支持方法的 JSF 按钮:

<h:form>
<!-- content... -->
<p:commandButton action="#{login.play}" ... />
</h:form>

登录管理 bean
public String play() {
...
//forward implementation
return "play";
}

public String play() {
...
//redirect implementation
return "play?faces-redirect=true";
}

我的页面 play.xhtml是安全的。只有角色 adminuser可以访问它,但使用我的第一个 play方法,安全约束没有启用,我可以访问。为什么不一样?

最佳答案

安全是基于每个请求执行的。转发重用当前请求对不同 View 的响应。重定向创建一个全新的请求,其响应用于不同的 View 。您可以通过查看浏览器地址栏中的请求 URL 轻松看到这一点。在远期的情况下,它保持不变。

在一个不相关的说明中,通过 POST 导航是一种糟糕的做法。您应该有条件地在同一页面中显示结果,或者使用普通链接或 POST 后的重定向通过 GET 导航。

关于security - JSF 安全 : page redirect vs. 页面转发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14524223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com