是否有可能解决导航结果以验证它?

时间:2017-09-20 11:23:35

标签: jsf-2 jsf-2.2

我有一个WebFilter,它重定向到我的应用程序中的登录页面。为了将重新重定向到引用页面,我还添加了一个名为 redirectOnLogin 的视图参数,然后在成功登录时使用该参数以执行最终导航。

如果要操纵此查询参数,可能很容易引发JSF导航错误。因此,我希望通过检查结果是否有效来预先解决这个问题,但我无法找到预先验证JSF结果的机制

1 个答案:

答案 0 :(得分:1)

最简单,最好的方法是确保无法操作redirectToLogin参数。或者检测到操纵。

你可以用(至少)两种方式解决这个问题

  1. 获取原始页面名称,向其添加“salt”并创建哈希值。
  2. Addin在登录服务器的请求中有这个
  3. 确保登录服务器返回它(可能将其作为#添加到返回页面或作为参数。
  4. 在'redirectOnLogin'页面上接收它时,使用页面名称,相同的salt并以相同的方式创建哈希。比较这些,如果它们匹配,你可以,如果他们没有抛出错误。
  5. 或者你可以

    1. 将“redirectOnLogin”页面存储在会话
    2. 检查从登录服务器返回的内容是否与您最终登录的页面匹配。