我正在创建一个能够为用户存储PDF的程序。 这些PDF存储在web / uploadedFiles / uploads / documents中。
让我们说用户A上传文件X.pdf。用户A不希望用户B能够访问此文档。就像现在一样,用户B可以键入: www。[url] .com / web / uploadedFiles / uploads / documenets / x.pdf并查看该文件。 如何确保文件X.pdf仅对用户A可见(并且那些用户A表示可以查看该文件)。
firewalls:
secured_area:
pattern: ^/
anonymous: ~
http_basic:
realm: "Secured Demo Area"
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout: true
anonymous: true
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin/, role: ROLE_ADMIN }
- { path: ^/uploadedFiles/, role: ROLE_ADMIN }
为了让我更容易,我首先尝试制作"文件夹"仅适用于管理员。
tl; Dr:在/ web /中创建完整文件夹,仅供管理员访问。
答案 0 :(得分:0)
已经很久了,但我认为我的回答可能会有所帮助。
如果必须将其保存在web
下的任何目录中,则可以保护该目录htaccess
,以便浏览器看不到该文件夹下的任何文件。您可以在该目录下拥有一个.htaccess
文件,其内容为:
deny from all
然后,编写一个控制器路由,将file path
/ id
作为参数,并根据登录用户决定文件控制。如果允许用户访问该文件。您可以阅读该文件并强制下载文件。