// create action
public function create()
{
$this->authorize('create', BusinessProfile::class);
return view('business-profile.create');
}
create的策略只返回true或false,切换布尔值似乎可以正常工作,因为我根据它获得了授权。
这符合我的政策设置正确。
authorize
方法,我尝试在构造函数中设置中间件。
Route::post('/post', function () {
// The current user may create posts...
})->middleware('can:create,App\Post');
所以,我在我的控制器构造函数中写了这个。
public function __construct()
{
$this->middleware('auth');
$this->middleware('can:create,BusinessProfile')->only('create');
}
但是,执行此操作时,操作始终未经授权。
奖金信息
$this->authorize(...)
按预期工作。