I have a simple Gate in AuthServiceProvider
:
public function boot()
{
$this->registerPolicies();
Gate::define('test', function (User $user) {
return true;
});
}
Then I'm trying to test it on web.php
:
Route::get('/', function () {
return view('welcome');
})->middleware('can:test')
but it redirects me to the unauthorized page, why?
The User
model exists, but I just return true
anyway
CodePudding user response:
Using Gate
and can
middleware first requires authenticated request, then it check the gate logic you define
If you are getting unauthorized response even if your gate always returns true
, it simply means your request came from non-logged-in user