Вам необходимо добавить Auth::shouldUse('logindetail');
перед вызовом методов Gate, если вы используете защиту не по умолчанию.
AuthServiceProvider. php
Gate::define('edit-setting',function($login){
return $login->isAdmin();
});
Controller. php
\Auth::shouldUse('logindetail');
if(Gate::allows('edit-setting')) {
echo "gate in";
}
Пользователь. php
public function isAdmin() {
return $this->role == 'admin' || $this->role == 'superadmin';
}