I wanted to know if there is any option to use the middleware parameter like laravel.
To make a long story short:
Request attributes.
So if you’ve done some authentication (AuthenticationMiddleware) and you pass to another one (i.e. AuthorizationMiddleware) you can simply:
AuthentiacationMiddleware.php
$request = $request->withAttribute('user', ['whatever']);
and then within next middleware in chain:
AuthentiacationMiddleware.php
$user = $request->getAttribute('user');
This is not what I am looking for.
I know the use of attribute
but I think that doesn’t satisfies my need.
Instead of one generic RoleMiddlware you could use add more specific role based middleware to the route groups, e.g.
->add(RoleEditorMiddleware::class)
->add(RoleAuthorMiddleware::class)
The good thing is, they are autoload only on demand, and you could also combine them.
$group->add(RoleAuthorMiddleware::class)
->add(RoleEditorMiddleware::class);
Yeah, I am using it and everything works fine but out of curiosity, just wanted to know if it is possible without making changes to the core framework.
I think this can be done just using the constructor method in the middleware class.