Zonit.Extensions.Organizations
10.0.0-preview.2
See the version list below for details.
dotnet add package Zonit.Extensions.Organizations --version 10.0.0-preview.2
NuGet\Install-Package Zonit.Extensions.Organizations -Version 10.0.0-preview.2
<PackageReference Include="Zonit.Extensions.Organizations" Version="10.0.0-preview.2" />
<PackageVersion Include="Zonit.Extensions.Organizations" Version="10.0.0-preview.2" />
<PackageReference Include="Zonit.Extensions.Organizations" />
paket add Zonit.Extensions.Organizations --version 10.0.0-preview.2
#r "nuget: Zonit.Extensions.Organizations, 10.0.0-preview.2"
#:package Zonit.Extensions.Organizations@10.0.0-preview.2
#addin nuget:?package=Zonit.Extensions.Organizations&version=10.0.0-preview.2&prerelease
#tool nuget:?package=Zonit.Extensions.Organizations&version=10.0.0-preview.2&prerelease
Zonit.Extensions.Organizations
Tenant / workspace context for ASP.NET Core and Blazor. Exposes the user's currently selected organization as the Organization value object — keeping authorization in one place (Zonit.Extensions.Auth).
dotnet add package Zonit.Extensions.Organizations
What you get
IWorkspaceProvider.Organization : Organization— current tenant as VO. ReturnsOrganization.Emptywhen none is selected.IWorkspaceManager— write surface (Initialize(...),SwitchOrganizationAsync(id), exposesWorkspace/Organizations/State).IUserOrganizationManager— consumer-implemented contract for backend hydration.- A Blazor
<ZonitOrganizationsExtension />component that bridges prerendered state across render modes.
Setup
builder.Services.AddOrganizationsExtension();
app.UseMiddleware<OrganizationsMiddleware>();
@using Zonit.Extensions
<ZonitOrganizationsExtension />
Implement IUserOrganizationManager in your app (typically backed by EF Core).
Reading the workspace
@inject IWorkspaceProvider Workspace
@if (Workspace.Organization.HasValue)
{
<p>Tenant: @Workspace.Organization.Name</p>
<p>Id: @Workspace.Organization.Id</p>
}
Switching organization
@inject IWorkspaceManager Manager
<button @onclick="@(async () => await Manager.SwitchOrganizationAsync(orgId))">
Switch
</button>
The change raises OnChange, observed by IWorkspaceProvider and any subscribers (incl. ExtensionsBase in the Website package).
Authorization is elsewhere
Earlier versions exposed IsPermission(string) / IsRole(string) on this provider with hard-coded "Developer" / "All" bypass paths. That is gone. Authorization lives in Zonit.Extensions.Auth ([RequirePermission], IAuthorizationService, <AuthorizeView>). Pure tenancy lives here.
License
MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Zonit.Extensions (>= 10.0.0-preview.2)
- Zonit.Extensions.Auth (>= 10.0.0-preview.2)
- Zonit.Extensions.Cultures (>= 10.0.0-preview.2)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Zonit.Extensions.Organizations:
| Package | Downloads |
|---|---|
|
Zonit.Extensions.Website
ASP.NET Core and Blazor web extensions providing base components (PageBase, PageEditBase, PageViewBase), navigation services, breadcrumbs management, toast notifications, cookie handling, and data protection utilities for building modern web applications. |
|
|
Zonit.Services.Dashboard
Package Description |
|
|
Zonit.Services.Manager
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0-preview.27 | 68 | 8/17/2026 |
| 10.0.0-preview.26 | 155 | 8/14/2026 |
| 10.0.0-preview.25 | 66 | 8/14/2026 |
| 10.0.0-preview.24 | 61 | 8/12/2026 |
| 10.0.0-preview.23 | 68 | 8/11/2026 |
| 10.0.0-preview.22 | 57 | 8/11/2026 |
| 10.0.0-preview.21 | 61 | 8/11/2026 |
| 10.0.0-preview.20 | 61 | 8/10/2026 |
| 10.0.0-preview.19 | 67 | 8/10/2026 |
| 10.0.0-preview.18 | 60 | 8/9/2026 |
| 10.0.0-preview.17 | 72 | 8/9/2026 |
| 10.0.0-preview.16 | 70 | 8/9/2026 |
| 10.0.0-preview.15 | 71 | 8/7/2026 |
| 10.0.0-preview.14 | 64 | 8/6/2026 |
| 10.0.0-preview.13 | 70 | 8/6/2026 |
| 10.0.0-preview.12 | 57 | 8/6/2026 |
| 10.0.0-preview.11 | 92 | 8/4/2026 |
| 10.0.0-preview.10 | 79 | 8/3/2026 |
| 10.0.0-preview.2 | 77 | 5/12/2026 |
| 0.1.52 | 173 | 1/15/2026 |