在Symfony中禁用某个模块/操作中的过滤器

时间:2011-08-28 10:37:49

标签: symfony1 filter symfony-1.4

我有一个过滤器,用于查询数据库以检查用户名是否与密码匹配。如果返回false,则筛选器将重定向到“logout”操作。唯一的问题是它将进入无限循环,因为过滤器也适用于“注销”操作。

我有什么方法可以“关闭”该操作的过滤器吗?

1 个答案:

答案 0 :(得分:7)

您必须在过滤器内执行检查。您可以从$ this-> context-> getModuleName()和$ this-> context-> getActionName()获取当前模块和操作。或者您可以查看当前路线名称,$ this-> context-> getRouting() - > getCurrentRouteName()。

实际上,sfBasicSecurityFilter完全相同,禁止转发登录操作。看看它的代码。