added admin login url customization
This commit is contained in:
5
src/HopFrame.Web/Models/HopFrameWebModuleConfig.cs
Normal file
5
src/HopFrame.Web/Models/HopFrameWebModuleConfig.cs
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
namespace HopFrame.Web.Models;
|
||||||
|
|
||||||
|
public class HopFrameWebModuleConfig {
|
||||||
|
public string AdminLoginPageUri { get; set; } = "/administration/login";
|
||||||
|
}
|
||||||
@@ -8,11 +8,12 @@
|
|||||||
@using HopFrame.Security.Authorization
|
@using HopFrame.Security.Authorization
|
||||||
@using HopFrame.Web.Admin.Providers
|
@using HopFrame.Web.Admin.Providers
|
||||||
@using HopFrame.Web.Components
|
@using HopFrame.Web.Components
|
||||||
|
@using HopFrame.Web.Models
|
||||||
@using Microsoft.AspNetCore.Components.Web
|
@using Microsoft.AspNetCore.Components.Web
|
||||||
@using Microsoft.Extensions.Options
|
@using Microsoft.Extensions.Options
|
||||||
@layout AdminLayout
|
@layout AdminLayout
|
||||||
|
|
||||||
<AuthorizedView Permission="@Options.Value.Dashboard" RedirectIfUnauthorized="/administration/login" />
|
<AuthorizedView Permission="@Options.Value.Dashboard" RedirectIfUnauthorized="@ConstructRedirectUri()" />
|
||||||
|
|
||||||
<PageTitle>Admin Dashboard</PageTitle>
|
<PageTitle>Admin Dashboard</PageTitle>
|
||||||
|
|
||||||
@@ -38,11 +39,16 @@
|
|||||||
@inject NavigationManager Navigator
|
@inject NavigationManager Navigator
|
||||||
@inject IAdminPagesProvider Pages
|
@inject IAdminPagesProvider Pages
|
||||||
@inject IOptions<AdminPermissionOptions> Options
|
@inject IOptions<AdminPermissionOptions> Options
|
||||||
|
@inject HopFrameWebModuleConfig Config
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
public void NavigateTo(string url) {
|
public void NavigateTo(string url) {
|
||||||
Navigator.NavigateTo("administration/" + url, true);
|
Navigator.NavigateTo("/administration/" + url, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public string ConstructRedirectUri() {
|
||||||
|
return Config.AdminLoginPageUri + "?redirect=/administration";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,6 +65,6 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Navigator.NavigateTo(string.IsNullOrEmpty(RedirectAfter) ? DefaultRedirect : "/administration/" + RedirectAfter, true);
|
Navigator.NavigateTo(string.IsNullOrEmpty(RedirectAfter) ? DefaultRedirect : RedirectAfter, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
@using HopFrame.Security.Claims
|
@using HopFrame.Security.Claims
|
||||||
@using HopFrame.Web.Admin
|
@using HopFrame.Web.Admin
|
||||||
@using HopFrame.Web.Components
|
@using HopFrame.Web.Components
|
||||||
|
@using HopFrame.Web.Models
|
||||||
|
|
||||||
<PageTitle>@_pageData.Title</PageTitle>
|
<PageTitle>@_pageData.Title</PageTitle>
|
||||||
<AuthorizedView Permission="@_pageData.Permissions.Read" RedirectIfUnauthorized="@GenerateRedirectString()" />
|
<AuthorizedView Permission="@_pageData.Permissions.Read" RedirectIfUnauthorized="@GenerateRedirectString()" />
|
||||||
@@ -107,6 +108,7 @@
|
|||||||
@inject IPermissionRepository Permissions
|
@inject IPermissionRepository Permissions
|
||||||
@inject SweetAlertService Alerts
|
@inject SweetAlertService Alerts
|
||||||
@inject NavigationManager Navigator
|
@inject NavigationManager Navigator
|
||||||
|
@inject HopFrameWebModuleConfig Config
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter]
|
[Parameter]
|
||||||
@@ -251,6 +253,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
private string GenerateRedirectString() {
|
private string GenerateRedirectString() {
|
||||||
return "/administration/login?redirect=" + _pageData?.Url;
|
return Config.AdminLoginPageUri + "?redirect=/administration/" + _pageData?.Url;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ using CurrieTechnologies.Razor.SweetAlert2;
|
|||||||
using HopFrame.Database;
|
using HopFrame.Database;
|
||||||
using HopFrame.Security.Authentication;
|
using HopFrame.Security.Authentication;
|
||||||
using HopFrame.Web.Admin;
|
using HopFrame.Web.Admin;
|
||||||
|
using HopFrame.Web.Models;
|
||||||
using HopFrame.Web.Services;
|
using HopFrame.Web.Services;
|
||||||
using HopFrame.Web.Services.Implementation;
|
using HopFrame.Web.Services.Implementation;
|
||||||
using Microsoft.AspNetCore.Builder;
|
using Microsoft.AspNetCore.Builder;
|
||||||
@@ -12,12 +13,13 @@ using Microsoft.Extensions.DependencyInjection;
|
|||||||
namespace HopFrame.Web;
|
namespace HopFrame.Web;
|
||||||
|
|
||||||
public static class ServiceCollectionExtensions {
|
public static class ServiceCollectionExtensions {
|
||||||
public static IServiceCollection AddHopFrame<TDbContext>(this IServiceCollection services, ConfigurationManager configuration) where TDbContext : HopDbContextBase {
|
public static IServiceCollection AddHopFrame<TDbContext>(this IServiceCollection services, ConfigurationManager configuration, HopFrameWebModuleConfig config = null) where TDbContext : HopDbContextBase {
|
||||||
services.AddHttpClient();
|
services.AddHttpClient();
|
||||||
services.AddHopFrameRepositories<TDbContext>();
|
services.AddHopFrameRepositories<TDbContext>();
|
||||||
services.AddScoped<IAuthService, AuthService>();
|
services.AddScoped<IAuthService, AuthService>();
|
||||||
services.AddTransient<AuthMiddleware>();
|
services.AddTransient<AuthMiddleware>();
|
||||||
services.AddAdminContext<HopAdminContext>();
|
services.AddAdminContext<HopAdminContext>();
|
||||||
|
services.AddSingleton(config ?? new HopFrameWebModuleConfig());
|
||||||
|
|
||||||
// Component library's
|
// Component library's
|
||||||
services.AddSweetAlert2();
|
services.AddSweetAlert2();
|
||||||
|
|||||||
Reference in New Issue
Block a user