Laravel - Authorization - Middleware Actions That Dont Require Models

Again, some policy methods like create do not require a model instance. In these situations, you may pass a class name to the middleware. The class name will be used to determine which policy to use when authorizing the action:

    
    Route::post('/post', function () {
        // The current user may create posts...
    })->middleware('can:create,App\Models\Post');
	

Specifying the entire class name within a string middleware definition can become cumbersome. For that reason, you may choose to attach the can middleware to your route using the can method:

    
    use App\Models\Post;
    
    Route::post('/post', function () {
        // The current user may create posts...
    })->can('create', Post::class);