gatehouse-ts
    Preparing search index...

    Function buildRbacPolicy

    • Creates a Role-Based Access Control policy. Grants access when the subject has at least one of the required roles for the resource/action.

      Type Parameters

      • Sub

        Subject type (typically a user)

      • Res

        Resource type

      • Act

        Action type

      • Ctx

        Context type

      • Role

        Role type (typically string)

      Parameters

      • __namedParameters: {
            name?: string;
            requiredRolesResolver: (res: Res, act: Act) => Role[] | Promise<Role[]>;
            userRolesResolver: (sub: Sub) => Role[] | Promise<Role[]>;
        }

      Returns RoleBasedPolicy<Sub, Res, Act, Ctx, Role>

      A RBAC policy

      const rbacPolicy = buildRbacPolicy<User, Document, string, Context, string>({
      requiredRolesResolver: (doc, action) =>
      action === "read" ? ["user", "admin"] : ["admin"],
      userRolesResolver: (user) => user.roles
      });