struct

KemalIdentity::Authz::Role

Inherits Struct < Value < Object

A named bundle of permissions.

Roles are what get assigned to people; permissions are what get checked in routes. The indirection is the point: invoices.refund moving from support to finance is a change to one role definition, not to every route that guards a refund.

Constants

MAX_NAME_BYTES = 64
PATTERN = /\A[a-z][a-z0-9_]*\z/

Same shape rule as a permission name, for the same reason: a role name reaches audit trails and administration screens, and one that differs by a capital letter is a role that reads as assigned and is not.

Constructors

new(name : String, permissions : Enumerable(String), description : String = "")
Source

Instance methods

description
Source
name
Source
permissions

Permission names, not Permission values: the role definition names what it grants, and RoleCatalog is what resolves those names against the registry — at boot, loudly.

Source