0

因为过滤器只有在我在每个命令按钮的操作上使用 page-redirect=true 时才能正常工作,所以我正在寻找一个可用的替代方案。

我现在只有两个过滤器(效果不好):

过滤器 A -> /pages/*(过滤器检查用户是否登录)

过滤器 B -> /pages/restricted/*(过滤器检查用户是否具有管理员权限)

由于 JSF 的导航程序,它们不起作用,因为 url 永远不会改变。

我的问题是:在没有过滤器的情况下限制页面访问的最佳解决方案是什么(是否有易于使用的安全性(没有复杂的角色等->某些用户只有 isAdmin=true)?或者当我使用时完全没有问题重定向?为什么jsf默认不使用它?

使用 prerenderview 组件是可接受的解决方案吗?(如果用户没有足够的权限,他应该被导航到一个404页面)

4

1 回答 1

1

你犯了一个根本性的错误。首先,您不应该使用命令 (POST) 按钮/链接进行页面到页面导航,而应该使用直接 (GET) 按钮/链接。

长话短说:

考虑到这些信息和最佳实践,servlet 过滤器仍然是最佳解决方案。所有现有的安全框架也是基于过滤原则。

也可以看看:

于 2013-08-31T11:33:11.823 回答