php - symfony 验证路由是否被授予/评估返回 redirectToRoute 语句

标签 php security symfony redirect try-catch

我有一个 symfony2 Controller ,我想在其中执行以下操作:

try {
    return $this->redirect($request->headers->get('referer'));
}
catch (Exception $e) {
    return $this->redirectToRoute('home');
}

它不起作用。这个想法是考虑到这个 Controller 中发生的事情,用户的权限可能会改变。所以我想知道他是否还可以访问当前路由,如果可以,则重定向到当前路由,如果不能,则重定向到家。

我该怎么做?

非常感谢!

最佳答案

我没有找到一个好的方法来做到这一点。问题是,您需要询问整个安全组件,它使用请求列表来拒绝访问。不幸的是,Accesstoken 只生成一次,所以如果您再次询问 requeSTListners,它不会使用新的用户权限。

最好的想法可能是进行重定向,然后在真正发生的地方捕获异常(带有 exceptionListener ),然后进行重定向。

关于php - symfony 验证路由是否被授予/评估返回 redirectToRoute 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27913111/

相关文章:

ruby-on-rails - 保护 REST 和 JSON

网络共享上的 .NET 安全异常

php - 您请求了一个不存在的服务 "security.context"

mysql - CSRF token 在负载平衡的 symfony2 应用程序中无效

javascript - 在一个 ajax 帖子上发布表单和文本区域

php - 如何在线程中组织图像?

java - 分布式Web应用系统的安全性

symfony - 验证相关实体,至少一个

php - 在 where 子句中添加什么才能获得所需的结果?

php - 创建哈希以与 Oracle DBMS_UTILITY.get_hash_value 匹配