diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/NotAuthorized.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/NotAuthorized.razor similarity index 100% rename from samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/NotAuthorized.razor rename to samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/NotAuthorized.razor diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/NotAuthorized.razor.cs b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/NotAuthorized.razor.cs similarity index 82% rename from samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/NotAuthorized.razor.cs rename to samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/NotAuthorized.razor.cs index eb018194..6142f36a 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/NotAuthorized.razor.cs +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/NotAuthorized.razor.cs @@ -1,4 +1,4 @@ -namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Page; +namespace CodeBeam.UltimateAuth.Sample.Shared.Components.Custom; public partial class NotAuthorized { diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleAuthorizationResult.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleAuthorizationResult.razor new file mode 100644 index 00000000..11d5faf7 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleAuthorizationResult.razor @@ -0,0 +1,66 @@ +@inject NavigationManager Nav + + + + + + + + + + @(Public ? "Public Access" : "Access Granted") + @Description + + + + + + Scenario + @Title + + + + Authorization + @(Public ? "Public" : "Authorized") + + + + + + + + + + + REQUIREMENT + + + + + @Requirement + + + + + + + Back to Home + + + + + + +@code { + [Parameter, EditorRequired] + public string Title { get; set; } = default!; + + [Parameter] + public string Description { get; set; } = "You have successfully accessed this protected page."; + + [Parameter] + public bool Public { get; set; } + + [Parameter, EditorRequired] + public string Requirement { get; set; } = default!; +} diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleMatchModes.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleMatchModes.razor new file mode 100644 index 00000000..c1198861 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleMatchModes.razor @@ -0,0 +1,192 @@ +@using CodeBeam.UltimateAuth.Core.Contracts +@using CodeBeam.UltimateAuth.Core.Defaults + + + + + + + + + + + + Authorization Match Modes + + + + Compare how Category, Any, and All evaluate the same requirements. + + + + + + + Requirements + + + + Roles: Admin, Manager, User + + + + Permission: @UAuthActions.Users.QueryAdmin + + + + + + + + + + + + Category + + + + One matching role AND the permission. + + + + + + + + + Authorized + + + + + + Denied + + + + + + + + + + + + + + + + + + + Any + + + + One matching role OR the permission. + + + + + + + + + Authorized + + + + + + Denied + + + + + + + + + + + + + + + + + + + All + + + + Both roles AND the permission. + + + + + + + + + Authorized + + + + + + Denied + + + + + + + + + + + + + + + + + Back to Home + + + + + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleStateView.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleStateView.razor new file mode 100644 index 00000000..1a3618c9 --- /dev/null +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Custom/SampleStateView.razor @@ -0,0 +1,130 @@ +@using CodeBeam.UltimateAuth.Core.Defaults + + + + + + + + + + + + + UAuthStateView + + + + This page is public. Each section evaluates its own authorization requirements. + + + + + + + + + Authenticated User + + + + No role or permission required. + + + + + + + Welcome, @state.Identity?.DisplayName! + + + + + + Authentication required. + + + + + + + + + + + + + + Admin Role + + + + Roles = Admin + + + + + + + Admin role granted. + + + + + + Admin role required. + + + + + + + + + + + + + + Admin Permission + + + + @UAuthActions.Users.QueryAdmin + + + + + + + Admin permission granted. + + + + + + Admin permission required. + + + + + + + + + + Back to Home + + + + + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Layout/SampleMainLayout.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Layout/SampleMainLayout.razor index 4d367b16..569f765f 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Layout/SampleMainLayout.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Layout/SampleMainLayout.razor @@ -11,6 +11,50 @@ + + + + + Authorization Lab + + + + + + + + Authorization Lab + + + + Explore route and UI authorization. + + + + + ROUTE PROTECTION + + + + + + + + + AUTHORIZATION MODELS + + + + + + + + COMPONENT AUTHORIZATION + + + + + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleAuthorizedTestPage.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleAuthorizedTestPage.razor deleted file mode 100644 index 20d3062f..00000000 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/Page/SampleAuthorizedTestPage.razor +++ /dev/null @@ -1,30 +0,0 @@ -@using CodeBeam.UltimateAuth.Core.Defaults -@inherits UAuthPageBase - - - - - - - Everything is Ok - - - If you see this section, it means you succesfully logged in. - - - - Go Home Page - - - - - - This is admin view content. - - - - UltimateAuth protects this resource based on your session and permissions. - - - - diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/SampleRoutes.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/SampleRoutes.razor index 278fb57d..9903d442 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/SampleRoutes.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/Components/SampleRoutes.razor @@ -1,5 +1,4 @@ @using System.Reflection -@using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Infrastructure @implements IDisposable @@ -36,7 +35,9 @@ *@ - + + + diff --git a/samples/CodeBeam.UltimateAuth.Sample.Shared/_Imports.razor b/samples/CodeBeam.UltimateAuth.Sample.Shared/_Imports.razor index 7309978c..fecf3334 100644 --- a/samples/CodeBeam.UltimateAuth.Sample.Shared/_Imports.razor +++ b/samples/CodeBeam.UltimateAuth.Sample.Shared/_Imports.razor @@ -6,6 +6,10 @@ @using CodeBeam.UltimateAuth.Client.Runtime @using CodeBeam.UltimateAuth.Client.Diagnostics @using CodeBeam.UltimateAuth.Client.Blazor +@using CodeBeam.UltimateAuth.Core.Contracts +@using CodeBeam.UltimateAuth.Core.Defaults +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom +@using Microsoft.AspNetCore.Authorization @using MudBlazor @using MudExtensions diff --git a/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-shm b/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-shm index 87c20d78..5eaf9289 100644 Binary files a/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-shm and b/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-shm differ diff --git a/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-wal b/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-wal index 3a16e535..97609168 100644 Binary files a/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-wal and b/samples/UAuthHub/CodeBeam.UltimateAuth.Sample.UAuthHub.EFCore/uauthhub.db-wal differ diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AnonymousTestPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AnonymousTestPage.razor deleted file mode 100644 index 10d035ba..00000000 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AnonymousTestPage.razor +++ /dev/null @@ -1 +0,0 @@ -@page "/anonymous-test" diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminPermissionPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminPermissionPage.razor new file mode 100644 index 00000000..3fcd123c --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminPermissionPage.razor @@ -0,0 +1,6 @@ +@page "/samples/auth/permission-admin" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminRolePage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminRolePage.razor new file mode 100644 index 00000000..181a1ea9 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AdminRolePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/admin" +@attribute [UAuthAuthorize(Roles = "Admin")] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor new file mode 100644 index 00000000..5b1211d8 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/aspnet" +@attribute [Authorize] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AuthenticatedPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AuthenticatedPage.razor new file mode 100644 index 00000000..9d621509 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/AuthenticatedPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/authenticated" +@attribute [UAuthAuthorize] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor new file mode 100644 index 00000000..d27b0add --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor @@ -0,0 +1,8 @@ +@page "/samples/auth/combined" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] +@attribute [Authorize(Roles = "Admin")] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/MatchModesPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/MatchModesPage.razor new file mode 100644 index 00000000..8fc527ac --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/MatchModesPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/match-modes" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/PublicPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/PublicPage.razor new file mode 100644 index 00000000..32cee135 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/PublicPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/public" + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/StateViewPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/StateViewPage.razor new file mode 100644 index 00000000..f07ce7a1 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizationLab/StateViewPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/state-view" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizedTestPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizedTestPage.razor deleted file mode 100644 index 0a953043..00000000 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/Pages/AuthorizedTestPage.razor +++ /dev/null @@ -1,4 +0,0 @@ -@page "/authorized-test" -@attribute [UAuthAuthorize] - - diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/_Imports.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/_Imports.razor index 22b7f9e4..6d46e295 100644 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/_Imports.razor +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer.EFCore/Components/_Imports.razor @@ -22,6 +22,7 @@ @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Layout +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom @using MudBlazor @using MudExtensions diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AnonymousTestPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AnonymousTestPage.razor deleted file mode 100644 index 10d035ba..00000000 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AnonymousTestPage.razor +++ /dev/null @@ -1 +0,0 @@ -@page "/anonymous-test" diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminPermissionPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminPermissionPage.razor new file mode 100644 index 00000000..3fcd123c --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminPermissionPage.razor @@ -0,0 +1,6 @@ +@page "/samples/auth/permission-admin" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminRolePage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminRolePage.razor new file mode 100644 index 00000000..181a1ea9 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AdminRolePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/admin" +@attribute [UAuthAuthorize(Roles = "Admin")] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor new file mode 100644 index 00000000..5b1211d8 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AspNetAuthorizePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/aspnet" +@attribute [Authorize] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AuthenticatedPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AuthenticatedPage.razor new file mode 100644 index 00000000..9d621509 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/AuthenticatedPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/authenticated" +@attribute [UAuthAuthorize] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor new file mode 100644 index 00000000..d27b0add --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/CombinedAuthorizationPage.razor @@ -0,0 +1,8 @@ +@page "/samples/auth/combined" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] +@attribute [Authorize(Roles = "Admin")] + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/MatchModesPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/MatchModesPage.razor new file mode 100644 index 00000000..8fc527ac --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/MatchModesPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/match-modes" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/PublicPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/PublicPage.razor new file mode 100644 index 00000000..32cee135 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/PublicPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/public" + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/StateViewPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/StateViewPage.razor new file mode 100644 index 00000000..f07ce7a1 --- /dev/null +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizationLab/StateViewPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/state-view" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizedTestPage.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizedTestPage.razor deleted file mode 100644 index 0a953043..00000000 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/Pages/AuthorizedTestPage.razor +++ /dev/null @@ -1,4 +0,0 @@ -@page "/authorized-test" -@attribute [UAuthAuthorize] - - diff --git a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/_Imports.razor b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/_Imports.razor index 8f58fb15..bb74ad71 100644 --- a/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/_Imports.razor +++ b/samples/blazor-server/CodeBeam.UltimateAuth.Sample.BlazorServer/Components/_Imports.razor @@ -21,6 +21,7 @@ @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Layout +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom @using MudBlazor @using MudExtensions diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AnonymousTestPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AnonymousTestPage.razor deleted file mode 100644 index 10d035ba..00000000 --- a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AnonymousTestPage.razor +++ /dev/null @@ -1 +0,0 @@ -@page "/anonymous-test" diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminPermissionPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminPermissionPage.razor new file mode 100644 index 00000000..3fcd123c --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminPermissionPage.razor @@ -0,0 +1,6 @@ +@page "/samples/auth/permission-admin" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminRolePage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminRolePage.razor new file mode 100644 index 00000000..181a1ea9 --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AdminRolePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/admin" +@attribute [UAuthAuthorize(Roles = "Admin")] + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AspNetAuthorizePage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AspNetAuthorizePage.razor new file mode 100644 index 00000000..5b1211d8 --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AspNetAuthorizePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/aspnet" +@attribute [Authorize] + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AuthenticatedPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AuthenticatedPage.razor new file mode 100644 index 00000000..9d621509 --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/AuthenticatedPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/authenticated" +@attribute [UAuthAuthorize] + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/CombinedAuthorizationPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/CombinedAuthorizationPage.razor new file mode 100644 index 00000000..d27b0add --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/CombinedAuthorizationPage.razor @@ -0,0 +1,8 @@ +@page "/samples/auth/combined" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] +@attribute [Authorize(Roles = "Admin")] + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/MatchModesPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/MatchModesPage.razor new file mode 100644 index 00000000..8fc527ac --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/MatchModesPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/match-modes" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/PublicPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/PublicPage.razor new file mode 100644 index 00000000..32cee135 --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/PublicPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/public" + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/StateViewPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/StateViewPage.razor new file mode 100644 index 00000000..f07ce7a1 --- /dev/null +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizationLab/StateViewPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/state-view" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizedTestPage.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizedTestPage.razor deleted file mode 100644 index 0a953043..00000000 --- a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/Pages/AuthorizedTestPage.razor +++ /dev/null @@ -1,4 +0,0 @@ -@page "/authorized-test" -@attribute [UAuthAuthorize] - - diff --git a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/_Imports.razor b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/_Imports.razor index 3826aa6f..32c621c0 100644 --- a/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/_Imports.razor +++ b/samples/blazor-standalone-wasm/CodeBeam.UltimateAuth.Sample.BlazorStandaloneWasm/_Imports.razor @@ -21,6 +21,7 @@ @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Layout +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom @using MudBlazor @using MudExtensions diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AnonymousTestPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AnonymousTestPage.razor deleted file mode 100644 index 10d035ba..00000000 --- a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AnonymousTestPage.razor +++ /dev/null @@ -1 +0,0 @@ -@page "/anonymous-test" diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminPermissionPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminPermissionPage.razor new file mode 100644 index 00000000..3fcd123c --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminPermissionPage.razor @@ -0,0 +1,6 @@ +@page "/samples/auth/permission-admin" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminRolePage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminRolePage.razor new file mode 100644 index 00000000..181a1ea9 --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AdminRolePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/admin" +@attribute [UAuthAuthorize(Roles = "Admin")] + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AspNetAuthorizePage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AspNetAuthorizePage.razor new file mode 100644 index 00000000..5b1211d8 --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AspNetAuthorizePage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/aspnet" +@attribute [Authorize] + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AuthenticatedPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AuthenticatedPage.razor new file mode 100644 index 00000000..9d621509 --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/AuthenticatedPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/authenticated" +@attribute [UAuthAuthorize] + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/CombinedAuthorizationPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/CombinedAuthorizationPage.razor new file mode 100644 index 00000000..d27b0add --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/CombinedAuthorizationPage.razor @@ -0,0 +1,8 @@ +@page "/samples/auth/combined" +@using CodeBeam.UltimateAuth.Core.Defaults +@attribute [UAuthAuthorize(Permissions = UAuthActions.Users.QueryAdmin)] +@attribute [Authorize(Roles = "Admin")] + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/MatchModesPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/MatchModesPage.razor new file mode 100644 index 00000000..8fc527ac --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/MatchModesPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/match-modes" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/PublicPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/PublicPage.razor new file mode 100644 index 00000000..32cee135 --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/PublicPage.razor @@ -0,0 +1,5 @@ +@page "/samples/auth/public" + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/StateViewPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/StateViewPage.razor new file mode 100644 index 00000000..f07ce7a1 --- /dev/null +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizationLab/StateViewPage.razor @@ -0,0 +1,4 @@ +@page "/samples/auth/state-view" +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom + + diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizedTestPage.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizedTestPage.razor deleted file mode 100644 index 0a953043..00000000 --- a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/Pages/AuthorizedTestPage.razor +++ /dev/null @@ -1,4 +0,0 @@ -@page "/authorized-test" -@attribute [UAuthAuthorize] - - diff --git a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/_Imports.razor b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/_Imports.razor index 819b9c9e..f40d9af6 100644 --- a/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/_Imports.razor +++ b/samples/int-wasm/CodeBeam.UAuth.Sample.IntWasm/CodeBeam.UAuth.Sample.IntWasm.Client/_Imports.razor @@ -18,6 +18,7 @@ @using CodeBeam.UltimateAuth.Sample.Shared.Components @using CodeBeam.UltimateAuth.Sample.Shared.Components.Page @using CodeBeam.UltimateAuth.Sample.Shared.Components.Layout +@using CodeBeam.UltimateAuth.Sample.Shared.Components.Custom @using MudBlazor @using MudExtensions