gpt4 book ai didi

laravel-5.4 - Laravel 5.4 受用户许可保护文档

转载 作者:行者123 更新时间:2023-12-02 03:02:15 24 4
gpt4 key购买 nike

我有一个 Laravel 项目,其中用户具有具有权限的角色(我正在使用 Zizaco/entrust ) 并且该应用仅供注册用户访问。

该应用程序包含上传的文件,但该文件不应公开查看,另一方面,该文件应在用户许可的情况下可访问。

我的问题:在这种情况下如何进行,如何在用户权限功能中保护文档?

最佳答案

我不确定这是否有帮助,但您可以创建一个特殊的 Controller 来下载/显示文档,您可以在其中检查实际用户的权限。

Entrust 文档中,您可以检查用户是否应该能够看到该文档:

$user->hasRole('owner'); //returns boolean

因此您可以在 Controller 中使用下面的代码:

$user = User::where('username', '=', 'Mark')->first();    
$pathToFile = Storage::get('file.pdf');
if ($user->hasRole('admin'))
{
return response()->download($pathToFile); //if you want to display a file, then change download to file
}
else
{
abort(403, 'Unauthorized action.');
}

请记住将此行添加到您的 Controller :

use Zizaco\Entrust\Traits\EntrustUserTrait;

您可以在此处阅读有关回复的更多信息:https://laravel.com/docs/5.4/responses和文件在这里:https://laravel.com/docs/5.4/filesystem


在此处查看简短语法,这将帮助您在 routes.php 中实现文件下载,而无需创建新的 Controller 。 https://github.com/Zizaco/entrust#short-syntax-route-filter

关于laravel-5.4 - Laravel 5.4 受用户许可保护文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com