2015-06-30 70 views
0

我想保护我的Symfony 2.7项目的公共文件夹与一些资产(pdf文件等),所以只有登录用户才能到达他们。Symfony安全文件夹与资产

想象的文件夹结构:

-- web 
    | -- uploads 
      | -- public 
      | -- secured 

我想每个人(甚至匿名用户)达到的所有文件夹web/uploads/public但只对注册用户文件夹web/uploads/secured访问。

我已经试图建立security.yml这一规则在access_control

- { path: ^/uploads/secured, role: ROLE_USER } 

但这仅适用于未航线在我的公共文件夹中的文件。

这甚至可能吗?或者我需要制作某种控制器,它将覆盖我的文件的路线,并另外检查用户是否被授予查看文件的权限?

+0

你发布的教程非常过时 - 将近6岁。它使用控制器来管理文件,但我正在寻找更简单的解决方案(如果存在的话)。感谢帮助。 – Cockootec

回答

2

查看静态文件时不会调用Symfony(或任何其他PHP脚本)。只有当你的前端控制器被打(app.php)时才会调用它。

要么使用您的Web服务器来保护对资产的访问,要么将它们放在公共目录之外并使用控制器来为它们提供服务。