AxiamVoter
extends Voter
in package
Symfony authorization voter (D-02, CONTRACT.md §1/§10): a one-line delegation to {@see AxiamClient::can()} — the server's additive-only RBAC engine (allow-wins, default-deny, no explicit deny-override) is ALWAYS the authoritative decision-maker. This class never caches a decision beyond the token's own TTL and never implements a client-side deny-override (project RBAC constraint, CLAUDE.md).
supports() matches any resource:action-shaped attribute (e.g.
is_granted('documents:read') / #[IsGranted('documents:read')]); Symfony's own
AccessDeniedException (thrown by denyAccessUnlessGranted()/#[IsGranted] on a
denied vote) is what a real Symfony app turns into a 403 response via its
AccessDeniedHandlerInterface — this class only ever returns the boolean vote,
never builds an HTTP response itself.
MUST be manually registered (Pitfall 5): tag this class security.voter in the
consuming app's own config/services.yaml — see examples/symfony_app/.
Tags
Table of Contents
Methods
- __construct() : mixed
Methods
__construct()
public
__construct(AxiamClient $client) : mixed
Parameters
- $client : AxiamClient