Ich habe ein Problem auf Laravel 5.3 mit der neuen Gate::allows
Methode.Tor :: funktioniert nicht in Laravel 5.3
Hier ist meine AuthServiceProvider.php
für den Test:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication/authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
Gate::define('settings', function ($user)
{
return true;
});
}
}
Normalerweise was auch immer die Rolle des Benutzers, alle die Einstellungen zugreifen können.
Aber das zeigt immer "Nein" anstelle von "OK" an.
<?php
namespace App\Http\Controllers;
use Gate;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class SettingsController extends Controller
{
public function __construct(Request $request)
{
echo Gate::allows('settings') ? 'ok' : 'no';
}
}