WebSvc.CrudAdmin
1.0.1
dotnet add package WebSvc.CrudAdmin --version 1.0.1
NuGet\Install-Package WebSvc.CrudAdmin -Version 1.0.1
<PackageReference Include="WebSvc.CrudAdmin" Version="1.0.1" />
<PackageVersion Include="WebSvc.CrudAdmin" Version="1.0.1" />
<PackageReference Include="WebSvc.CrudAdmin" />
paket add WebSvc.CrudAdmin --version 1.0.1
#r "nuget: WebSvc.CrudAdmin, 1.0.1"
#:package WebSvc.CrudAdmin@1.0.1
#addin nuget:?package=WebSvc.CrudAdmin&version=1.0.1
#tool nuget:?package=WebSvc.CrudAdmin&version=1.0.1
CrudAdmin v1.2.0
Unified Admin UI + IAM for multi-tenant Dynamic CRUD API platforms.
⚠ CRITICAL — Program.cs Setup
In your host project's Program.cs, you MUST call BOTH UseCrudAdmin() AND MapCrudAdmin():
builder.Services.AddCrudAdmin(o => { o.RequireAuth = true; });
var app = builder.Build();
app.UseRouting();
app.UseCrudAdmin(); // ✅ admin UI cookie auth middleware
app.UseCrudAuth(); // ✅ optional — protects /api/v* CRUD endpoints
app.MapCrudAdmin(); // ✅ REQUIRED — maps /admin/* pages and /api/admin/* endpoints
app.Run();
If you comment out app.MapCrudAdmin(), you will get 404 on /admin/login !
Default Login
- URL:
/admin/login - Username:
admin - Password:
admin@123 - ⚠ Change immediately in production!
🎭 Built-in roles (v1.8+)
| Role | Permission set | Risk | Recommendation |
|---|---|---|---|
| Owner | *.* |
🛑 Destructive (total access) | Reserve for true super-admins — auto-inherits all future destructive perms |
| Editor | *.create, *.read, *.update, *.delete |
✓ Safe | Recommended default for power users |
| Writer | *.read, *.create, *.update |
Standard | Create + edit, no delete |
| Reader | *.read |
Standard | View-only |
Why Editor exists
The wildcard *.* (held by Owner) literally means "every permission, including future ones." When new destructive permissions are added (e.g. database.bootstrap, database.config), Owner inherits them automatically. Editor explicitly lists the four CRUD actions, so it cannot accidentally accumulate destructive scope as the package evolves.
For most users, Editor is the right choice — assign Owner only when you genuinely want a role to grow with every new permission ever added.
© Narender Kumar
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Data.Sqlite (>= 8.0.0)
- System.IdentityModel.Tokens.Jwt (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.