我正在尝试记录我的 laravel api 并且我正在使用 scramble 包。本地一切正常,但在生产环境中存在错误(访问页面时出现 403 错误)。
我按照文档添加了一个门(为了安全起见,我向您展示的电子邮件只是一个示例。)
Gate::define('viewApiDocs', function (User $user) {
return in_array($user->email, ['[email protected]']);
});
<?php
namespace Dedoc\Scramble\Http\Middleware;
use Illuminate\Support\Facades\Gate;
class RestrictedDocsAccess
{
public function handle($request, \Closure $next)
{
if (app()->environment('local')) {
return $next($request);
}
if (Gate::allows('viewApiDocs')) {
return $next($request);
}
abort(403);
}
}
最后我想在本地环境中获得我的文档
scramble-config
config/scramble.php
文件 - 中间件部分:RestrictedDocsAccess::class - 覆盖您的类封装中间件
public function handle($request, \Closure $next)
{
if (app()->environment('local')) {
return $next($request);
}
if (Gate::allows('viewApiDocs')) {
return $next($request);
}
abort(403);
}