Так как вы используете ядро asp.net, давайте напишем ActionFilterAttribute
, который мы собираемся применить к любым контроллерам или действиям, которые мы хотим, чтобы результат Forbidden вместо Redirect если схема запроса HTTP , а не HTTPS
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true)]
public class RestrictHttpsAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
if (!context.HttpContext.Request.IsHttps)
{
context.Result = new ForbidResult();
}
else
{
base.OnActionExecuting(context);
}
}
}
Как использовать
Как использовать фильтр действий на контроллере:
[RestrictHttps]
public class ExampleController : Controller
{
// controller code goes here.
}
Для дальнейшего чтения, извлеките Фильтры в ASP.NET Core