Laravel 5 文件系统 - 目录权限
Laravel 5 Filesystem - Directory Permissions
我目前正在 Laravel 5 中编写一个带有登录系统的文件系统,目前每个用户都可以创建文件夹和上传文件,但是当我从文件夹 [=14= 复制路径时] 从用户“1”注销并使用用户“2”登录并将路径粘贴到浏览器中,我可以从用户“1”访问文件夹 "A"。
我希望只有创建文件夹的人才能打开它并上传文件。我想要通过用户 ID 进行身份验证,以检查当前尝试打开 folder/path 的用户是否是创建者并有权执行此操作。
public function mkdir(Request $request) {
$validator = Validator::make ( $request->all (), [
'dirname' => 'required|max:20'
] );
if ($validator->fails ( $request )) {
return redirect ( 'filesystem' )->withErrors ( $validator )->withInput ();
} else {
$id = Auth::user ()->id;
$dir = $request->dir . "/" . $request->dirname;
托盘:
因为文件夹结构和文件夹的所有权设置为服务器上的用户,所以在没有某种数据库的情况下做这样的事情是不可能的。我的建议类似于 noodles_ftw 的建议。
创建一个 table folderPermissions,在这个文件夹中,它会有几列。所有者,路径
所有者是创建文件夹的用户的 ID,路径是文件夹的路径。
接下来您将创建某种中间件或其他检查以简单地说出以下内容
// get current user id
// get folders owned by that user
// if user is not allowed to view folder
// return an error letting them know
// continue to do what you need to do with the folder
这将允许您 运行 您的检查,甚至警告用户试图访问他们不允许访问的文件夹。
您在这里的其他选择之一是使用服务器 .htaccess 和 .htpasswd 文件。这将允许您设置允许进入该文件夹的用户列表。您可能希望在用户创建新文件夹时创建这些文件。在为用户生成 .htpasswd 文件时使用数据库中的用户密码和用户名。
查找有关此解决方案的更多信息from the documentation
我目前正在 Laravel 5 中编写一个带有登录系统的文件系统,目前每个用户都可以创建文件夹和上传文件,但是当我从文件夹 [=14= 复制路径时] 从用户“1”注销并使用用户“2”登录并将路径粘贴到浏览器中,我可以从用户“1”访问文件夹 "A"。 我希望只有创建文件夹的人才能打开它并上传文件。我想要通过用户 ID 进行身份验证,以检查当前尝试打开 folder/path 的用户是否是创建者并有权执行此操作。
public function mkdir(Request $request) {
$validator = Validator::make ( $request->all (), [
'dirname' => 'required|max:20'
] );
if ($validator->fails ( $request )) {
return redirect ( 'filesystem' )->withErrors ( $validator )->withInput ();
} else {
$id = Auth::user ()->id;
$dir = $request->dir . "/" . $request->dirname;
托盘:
因为文件夹结构和文件夹的所有权设置为服务器上的用户,所以在没有某种数据库的情况下做这样的事情是不可能的。我的建议类似于 noodles_ftw 的建议。
创建一个 table folderPermissions,在这个文件夹中,它会有几列。所有者,路径
所有者是创建文件夹的用户的 ID,路径是文件夹的路径。
接下来您将创建某种中间件或其他检查以简单地说出以下内容
// get current user id
// get folders owned by that user
// if user is not allowed to view folder
// return an error letting them know
// continue to do what you need to do with the folder
这将允许您 运行 您的检查,甚至警告用户试图访问他们不允许访问的文件夹。
您在这里的其他选择之一是使用服务器 .htaccess 和 .htpasswd 文件。这将允许您设置允许进入该文件夹的用户列表。您可能希望在用户创建新文件夹时创建这些文件。在为用户生成 .htpasswd 文件时使用数据库中的用户密码和用户名。
查找有关此解决方案的更多信息from the documentation