All Plugins/Security & Authentication/v0.1.0

Veap RBAC

Official

Role-Based Access Control and permission management with dynamic roles, granular permissions, and administrative authorization guards.

bun veap add @veap/rbac-plugin

Purpose & Overview

Controls user authorization through granular permissions, role hierarchies, route protection middlewares, and UI action gating.

Installation & Setup

1

Install the package

bash
bun veap add @veap/rbac-plugin
2

Register in lib/veap.ts (or auto via lib/plugins.gen.ts)

lib/veap.ts
typescript
// lib/veap.ts
import { Application } from "@veap/core/core/server";
import rbacPlugin from "@veap/rbac-plugin";

export const app = Application.configure()
  .withAuth()
  .withPlugins([rbacPlugin])
  .create();

// Checking security and roles in actions or server components:
import { checkSecurity, getCurrentSession } from "@veap/core/auth/server";

const { session, user } = await getCurrentSession();
const auth = await checkSecurity(session, user, ["admin"], ["post:update"]);
if (!auth.satisfied) {
  throw new Error("Forbidden: insufficient permissions");
}

Keep in mind

  • Defines default built-in roles: 'admin' and 'user'.
  • Allows other plugins to register domain-specific permissions (e.g. 'post:create', 'media:upload').
  • Provides `checkSecurity(session, user, roles, permissions)` and `getUserRbacData(userId)` for access control.

Dependencies

Veap Core

@veap/core (^0.1.0)

NPM Packages
  • lucide-react@^1.27.0

Authors & Maintainers

Veap Core Team

Maintainer

Profile →

Specifications

License
MIT
Type
plugin
Status
official
Repository
GitHub →
veap
Preparing0%