首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >ASP.NET MVC用户友好的401错误

ASP.NET MVC用户友好的401错误
EN

Stack Overflow用户
提问于 2009-11-05 19:17:47
回答 4查看 14.6K关注 0票数 18

我已经在ASP.NET MVC site in a way like suggests this post中实现了错误处理。

有了404个错误,一切都能正常工作。但是如何正确地为401 error显示用户友好的屏幕?它们通常不会抛出可以在Application_Error()内部处理的异常,而是操作返回HttpUnauthorizedResult。一种可能的方法是将以下代码添加到Application_EndRequest()方法的末尾

代码语言:javascript
复制
if (Context.Response.StatusCode == 401)
{
    throw new HttpException(401, "You are not authorised");
    // or UserFriendlyErrorRedirect(new HttpException(401, "You are not authorised")), witout exception
}

但在Application_EndRequest() Context.Session == null内部,errorController.Execute()会失败,因为它不能使用默认TempDataProvider。

代码语言:javascript
复制
  // Call target Controller and pass the routeData.
  IController errorController = new ErrorController();
  errorController.Execute(new RequestContext(    
       new HttpContextWrapper(Context), routeData)); // Additional information: The SessionStateTempDataProvider requires SessionState to be enabled.

那么,你能推荐一些在ASP.NET MVC应用程序中如何“用户友好处理”401的最佳实践吗?

谢谢。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1679881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档