有没有办法在门定义中定义控制器?
Is there any way to define controllers in gate definitions?
我正在建立一个新项目,我想使用 gates 和 policies。我知道如何通过 Laravel 文档使用它,但我想更进一步。
我们在 AuthServiceProvider 中有一个引导方法,我们应该在其中定义入口和策略。
我们可以像这样在门中定义控制器吗?
Gate::define(SomeController::class, function ($user) {
if($user->something) {
return false;
}
return true;
});
如果您想保护特定路由(防止未经授权的用户访问您的控制器),中间件 是您的最佳选择。 Gates/Policies 是为了保护 models/actions.
<?php
namespace App\Http\Middleware;
use Closure;
class MyCustomMiddleware
{
public function handle($request, Closure $next)
{
if($request->user->something) {
return false;
}
return true;
}
}
有关如何创建和注册中间件的更多详细信息,请点击此处:
我正在建立一个新项目,我想使用 gates 和 policies。我知道如何通过 Laravel 文档使用它,但我想更进一步。
我们在 AuthServiceProvider 中有一个引导方法,我们应该在其中定义入口和策略。
我们可以像这样在门中定义控制器吗?
Gate::define(SomeController::class, function ($user) {
if($user->something) {
return false;
}
return true;
});
如果您想保护特定路由(防止未经授权的用户访问您的控制器),中间件 是您的最佳选择。 Gates/Policies 是为了保护 models/actions.
<?php
namespace App\Http\Middleware;
use Closure;
class MyCustomMiddleware
{
public function handle($request, Closure $next)
{
if($request->user->something) {
return false;
}
return true;
}
}
有关如何创建和注册中间件的更多详细信息,请点击此处: