1 回答
TA贡献1847条经验 获得超7个赞
由于您使用的是 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.
}
- 1 回答
- 0 关注
- 184 浏览
添加回答
举报