dev-master branch suggests no stable releases, increasing risk of breaking changes.can())?$router->middleware() vs. $route->middleware()).Auth::user()), this can complement it for authorization.spatie/laravel-permission).dev-master branch).php artisan vendor:publish --provider="Sowork\YAuth\YAuthServiceProvider" --tag=yauth-config
php artisan vendor:publish --provider="Sowork\YAuth\YAuthServiceProvider" --tag=yauth-migrations
php artisan migrate
config/app.php (as per README).User model to include YAuth traits/methods.use Sowork\YAuth\Traits\HasRoles;
class User extends Authenticatable {
use HasRoles;
}
namespace App\Http\Middleware;
use Closure;
use YAuth;
class CheckPermission {
public function handle($request, Closure $next) {
if (!YAuth::allow($request->user(), 'edit_post')) {
abort(403);
}
return $next($request);
}
}
app/Http/Kernel.php:
protected $routeMiddleware = [
'permission' => \App\Http\Middleware\CheckPermission::class,
];
app(YAuth::class)).spatie/laravel-permission or entrust. Choose one RBAC system.YAuth::allow(), YAuth::attachRole()).dev-master) requires:
YAuth::denied(function ($user, $permission) {
\Log::warning("Permission denied for {$user->email}: {$permission}");
});
$user->load('roles.permissions');
Cache::remember("user:{$user->id}:permissions", now()->addHours(1), function () use ($user) {
return $user->roles->pluck('permissions')->flatten();
});
user_permissions table).role_id, permission_id.How can I help you explore Laravel packages today?