gpt4 book ai didi

asp.net-mvc - IAuthorizationFilter 的设置结果

转载 作者:行者123 更新时间:2023-12-04 07:12:23 27 4
gpt4 key购买 nike

我希望从失败的 IAuthorizationFilter 设置结果操作。但是我不确定如何从过滤器内部创​​建 ActionResult。 Controller 似乎无法从过滤器内部进行控制,因此我通常的 View("SomeView") 无法正常工作。有没有办法获得 Controller 或另一种创建 actionresult 的方法,因为它似乎不可实例化?

不起作用:

    [AttributeUsage(AttributeTargets.Method)]
public sealed class RequiresAuthenticationAttribute : ActionFilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = View("User/Login");
}
}
}

最佳答案

您可以直接实例化适当的 ActionResult,然后在上下文中设置它。例如:

public void OnAuthorization(AuthorizationContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = new ViewResult { ViewName = "Whatever" };
}
}

关于asp.net-mvc - IAuthorizationFilter 的设置结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/110384/

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