8000 Authorization attributes · Issue #20 · jasny/auth · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Authorization attributes #20
Open
Open
@jasny

Description

@jasny
use Jasny\Auth\AuthMiddleware;
use Jasny\Auth\AttributesHandler;

$fn =  static function (ServerRequestInterface $request) {
  return new ReflectionMethod($request->getAttribute('route.controller'), $request->getAttribute('route.action'));
};

$middleware = new AuthMiddleware($auth, $fn, $responseFactory);
$router->add($middleware);

If the callback for AuthMiddleware returns a reflection object, the attributes will be obtained and verified.

use Jasny\Auth\Attributes\Roles;

#[Roles('admin')]
class AdminController
{
}
use Jasny\Auth\Attributes\Roles;
use Jasny\Auth\Attributes\Context;

#[Controller('clients')]
class ClientController
{
  #[Post('/:id')]
  #[Roles('manager')]
  public edit(
    #[Context] string $clientId,
  ) {
    // ...
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0