Référence d'API — @nodefony/security — voter
stable
Documentation › Référence d’API › @nodefony/security › voter
Générée depuis les déclarations de types publiées de
@nodefony/security10.0.0-beta.5 : exactement ce que reçoit une application qui l’installe. Cette page n’existe dans aucun dépôt — pour la corriger, on corrige le TSDoc du code.
@nodefony/security#
import { … } from "@nodefony/security" — 6 symboles.
Classes (2)#
RoleVoter#
class RoleVoter implements IAccessVoter
Voter built-in niveau A — résout les attributs ROLE_* via la hiérarchie de rôles (RoleHierarchyWalker).
constructor(container: Container)supports(attribute: string): boolean— Ce voter sait-il décider de cet attribut/sujet ?vote(token: IToken, attribute: string): Promise<VoterVote>— Vote pour l’attribut donné sur le sujet donné.
ScopeVoter#
class ScopeVoter implements IAccessVoter
Voter built-in axe SCOPE (P6.8) — applique les scopes api:action déclarés par @RequireScope. Frère du RoleVoter sur l’autre axe : les rôles disent QUI tu es, les scopes disent ce qu’une CLÉ déléguée a le droit de faire.
supports(attribute: string): boolean— Capte les attributs scopeapi:action— niROLE_*, ni attribut métier sans:.vote(token: IToken, attribute: string): Promise<VoterVote>— Vote pour l’attribut donné sur le sujet donné.
Fonctions (2)#
listVoterFactories#
function listVoterFactories(): ReadonlyMap<string, VoterFactory>
Toutes les fabriques enregistrées (consommées par l’AuthorizationService).
registerVoterFactory#
function registerVoterFactory(name: string, factory: VoterFactory): void
Enregistre (ou remplace) la fabrique d’un voter. Appelé par les builtins au chargement du module, et par les apps/plugins pour les leurs (ProjectVoter, TenantVoter…).
Interfaces (1)#
IVoterFactoryContext#
interface IVoterFactoryContext
Contexte passé à une fabrique de voter : le container DI pour résoudre les services dont le voter a besoin (repository, hiérarchie de rôles…). La fabrique ne fait QUE construire — les résolutions coûteuses restent lazy dans l’instance.
readonly container: Container— Container DI — résolution de services (roleHierarchy, repositories…).
Types (1)#
VoterFactory#
type VoterFactory = (ctx: IVoterFactoryContext) => IAccessVoter
Fabrique d’un voter pour un nom donné.