gpt4 book ai didi

c# - MVC3 重定向到 "Unauthorized"页面不起作用?

转载 作者:太空狗 更新时间:2023-10-30 00:55:58 26 4
gpt4 key购买 nike

询问后this question关于授权,我添加了一个新的自定义属性,试图将未经授权的用户重定向到一个页面,该页面包含有关请求访问等的更多详细信息。

public class RedirectAuthorize:AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
//base.HandleUnauthorizedRequest(filterContext);

filterContext.Result = new RedirectResult("Unauthorized");
}
}

我已经用这个属性和正确的 (Role="...") 装饰了我的 Home Controller ,并且这个“有效”...即它按预期命中方法。

我已将普通 View 添加到名为 Unauthorized.cshtml 的共享 View 文件夹中,但我只是收到“找不到资源”404 错误。

显示的 URL 似乎是正确的?

我的猜测是我需要指定 Controller /操作而不是页面吗?但错误处理程序重定向到 Error.cshtml 而无需 Controller ?

感谢您的帮助。

最佳答案

问题是您正在使用 RedirectResult 强制浏览器请求给定的 URL。但是当浏览器请求它时,没有匹配的路由。因此它会抛出 404 错误。

尝试

filterContext.Result = new ViewResult { ViewName = "Unauthorized" };

关于c# - MVC3 重定向到 "Unauthorized"页面不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8890327/

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