Browse Source

Merge pull request #17278 from abpframework/7.3-cmskit-paging-feature

Add feature check for CmsKit Page Middleware
pull/17298/head
maliming 3 years ago
committed by GitHub
parent
commit
dd8a79b3e0
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 20
      modules/cms-kit/src/Volo.CmsKit.Public.Web/DefaultHomePageMiddleware.cs

20
modules/cms-kit/src/Volo.CmsKit.Public.Web/DefaultHomePageMiddleware.cs

@ -3,6 +3,8 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Features;
using Volo.CmsKit.Features;
using Volo.CmsKit.Pages; using Volo.CmsKit.Pages;
using Volo.CmsKit.Public.Pages; using Volo.CmsKit.Public.Pages;
@ -12,16 +14,20 @@ public class DefaultHomePageMiddleware : IMiddleware, ITransientDependency
{ {
public async Task InvokeAsync(HttpContext context, RequestDelegate next) public async Task InvokeAsync(HttpContext context, RequestDelegate next)
{ {
if (context.Request.Path.Value == "/") var featureChecker = context.RequestServices.GetRequiredService<IFeatureChecker>();
{
var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>();
var page = await pagePublicAppService.FindDefaultHomePageAsync(); if (await featureChecker.IsEnabledAsync(CmsKitFeatures.PageEnable))
if (page != null) {
if (context.Request.Path.Value == "/")
{ {
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}"; var pagePublicAppService = context.RequestServices.GetRequiredService<IPagePublicAppService>();
}
var page = await pagePublicAppService.FindDefaultHomePageAsync();
if (page != null)
{
context.Request.Path = $"{PageConsts.UrlPrefix}{page.Slug}";
}
}
} }
await next(context); await next(context);

Loading…
Cancel
Save