![]() |
VOOZH | about |
dotnet add package PrimusSaaS.Rbac --version 2.0.1
NuGet\Install-Package PrimusSaaS.Rbac -Version 2.0.1
<PackageReference Include="PrimusSaaS.Rbac" Version="2.0.1" />
<PackageVersion Include="PrimusSaaS.Rbac" Version="2.0.1" />Directory.Packages.props
<PackageReference Include="PrimusSaaS.Rbac" />Project file
paket add PrimusSaaS.Rbac --version 2.0.1
#r "nuget: PrimusSaaS.Rbac, 2.0.1"
#:package PrimusSaaS.Rbac@2.0.1
#addin nuget:?package=PrimusSaaS.Rbac&version=2.0.1Install as a Cake Addin
#tool nuget:?package=PrimusSaaS.Rbac&version=2.0.1Install as a Cake Tool
Release status: stable.
Core RBAC engine for Primus SaaS. Includes the data model, evaluation logic, and service interfaces. Storage adapters are shipped separately.
385/385 tests passed on net9.0385/385 tests passed on net10.095.9% line / 86.34% branch / 98.09% methodActivitySource spans for decisions, snapshots, what-if checks, cleanup, and mutations.MeterListener if they want the telemetry exported.If you are wiring RBAC together with PrimusSaaS.Identity.Validator and PrimusSaaS.MultiTenancy, use the verified combined onboarding guide at /docs/modules/combined-dotnet-integration.
/docs/modules/rbac/docs/modules/rbac/verified-multi-tenant-role-matrix/docs/modules/rbac/verified-production-style-role-matrix/docs/modules/rbac/verified-dapper-quickstart/docs/modules/rbac/integration-guide/docs/modules/rbac/advancedusing PrimusSaaS.Rbac;
using PrimusSaaS.Rbac.InMemory;
var services = new ServiceCollection();
services.AddPrimusRbacInMemory(options =>
{
options.SeedMode = "none";
});
PrimusSaaS.Rbac.InMemory — in-process, no database required (dev/test)PrimusSaaS.Rbac.EFCore — Entity Framework Core (SQL Server, PostgreSQL, SQLite, ...)PrimusSaaS.Rbac.Dapper — Dapper micro-ORM (same databases, no EF dependency)PrimusSaaS.Rbac.Redis — Redis pub/sub distributed cache invalidation bus for multi-instance deploymentsWhen running multiple API replicas, each instance has its own IRbacDecisionCache. The IDistributedRbacInvalidationBus interface allows mutations on one instance to flush caches across all instances. Install PrimusSaaS.Rbac.Redis for a production-ready Redis pub/sub implementation:
builder.Services.AddPrimusRbacCore(opts => { /* ... */ });
builder.Services.AddPrimusRbacRedisInvalidation("redis:6379");
IRbacOwnershipPolicy enables resource-level ownership checks. After RBAC grants access, the ownership policy verifies the caller owns the specific resource instance:
services.AddSingleton<IRbacOwnershipPolicy, MyOwnershipPolicy>();
When a request includes a ResourceInstanceId, the policy's IsOwnerAsync is called. If it returns false, the decision is downgraded to deny with reason "ownership_check_failed".
SeedMode: none, minimal, or sample.minimal seeds only a generic permission placeholder; it does not create built-in roles.sample seeds demo roles and groups for local experimentation only.AllowMultipleInheritance: set true to allow more than one parent role.This package is designed to support common enterprise access-control requirements. It does not provide certification. Align it with your organization's compliance program.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 5 NuGet packages that depend on PrimusSaaS.Rbac:
| Package | Downloads |
|---|---|
|
PrimusSaaS.MultiTenancy
Core multi-tenancy abstractions and runtime for tenant context resolution, isolation, and membership modeling. |
|
|
PrimusSaaS.Security
Offline, zero-infrastructure .NET SAST scanner embedded directly in your SDK. Unlike SonarQube (Java 17 + PostgreSQL + 2 GB RAM), Primus Security activates with one NuGet package and one line of code. v2.1.0 ships 60 Roslyn-based SAST analyzers, 100 secret-detection patterns, SARIF 2.1.0 export, OWASP Top 10 2021 compliance report, configurable quality gates, A–E security ratings, persistent suppression store, baseline delta, and a 40-rule catalog with before/after code patches — all offline, air-gap safe. Beats SonarQube Community Edition for .NET on: SARIF export, OWASP report, CWE/PCI-DSS compliance, AI-agent MCP tools, and zero server infrastructure. |
|
|
PrimusSaaS.Rbac.InMemory
In-memory storage adapter for PrimusSaaS.Rbac. Intended for development, tests, and demos. |
|
|
PrimusSaaS.Rbac.Dapper
Dapper storage adapter for PrimusSaaS.Rbac. A lightweight alternative to the EF Core adapter with full control over SQL. |
|
|
PrimusSaaS.Memberships.Rbac
Optional bridge that provisions RBAC assignments from Memberships lifecycle events. |
This package is not used by any popular GitHub repositories.