gpt4 book ai didi

c# - 覆盖全局操作过滤器

转载 作者:太空狗 更新时间:2023-10-29 23:18:04 24 4
gpt4 key购买 nike

我网站上的一些页面需要使用 SSL,因此我在相关 Controller 中添加了 [RequireHttps]。但是,我仍然希望我的大部分页面始终使用非 SSL,所以我成功地使用了 code I found on SO创建自定义 [DoNotUseHttps] 过滤器。

为了让事情变得更简单,我想默认包含这个非 SSL 过滤器,所以我将它添加到在 Global.asax 文件中设置的全局过滤器中。但是,我现在似乎创建了一个无限循环,每个过滤器都重定向到另一个。

这让我想到了我的问题......有什么我可以添加到我的全局过滤器来检测 [RequireHttps] 是否已经应用到 Controller ?

最佳答案

当然,您可以询问有关操作和 Controller 的任何内容。检查 RequireHttpsAttribute:

public override void OnActionExecuted(ActionExecutedContext filterContext)
{
base.OnActionExecuted(filterContext);

bool requireHttps = filterContext.ActionDescriptor.ControllerDescriptor
.GetCustomAttributes(typeof(RequireHttpsAttribute), true).Length > 0
}

关于c# - 覆盖全局操作过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6575433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com