c# - 从MVC中的自定义异常类型返回403

标签 c# asp.net-mvc error-handling custom-errors

我想根据数据库中保存的用户权限来限制网站上的某些页面。

该错误将源自服务/数据访问层。

我发现如果抛出UnauthorizedAccessException,则asp.net管道返回的状态码为401,这将导致YSOD,而不是转到MVC自定义错误页面。

通过阅读,看来我需要返回403错误。我创建了一个自定义异常类型来代替UnauthorizedAccessException。如何配置MVC以针对此错误返回403响应?然后,如何设置过滤器以在出现此错误时重定向到我的自定义禁止页面?我是否采用正确的方法?

最佳答案

也许您可以考虑将身份验证内置到asp.net MVC中...
事实是,您可以仅将[Authorize]属性添加到 Controller 或
用户使用[Authorize(Users="Alice,Bob")],组使用[Authorize(Roles="Administrators")]

链接到MSDN article for reference。还有auth in mvc的教程

关于c# - 从MVC中的自定义异常类型返回403,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23733754/

相关文章:

c# - 有没有一种方法可以检索类的文件名?

c# - 如何在 ASP.NET C# 中将字符串日期转换为 DateTime 形式

asp.net-mvc - 用于枚举下拉列表的自定义 MVC 模板

c# - 您能否建议我如何处理 “The variable '仪表板1' is either undeclared or was never assigned.”问题?

python - 处理 Tweepy api 返回的 420 响应码

asp.net-mvc-3 - MVC 3、defaultRedirect 和 HandleErrorInfo 模型

c# - 您如何在 ASP.Net MVC 中找到哪个 View 称为哪个局部 View

C# - 编写 COM 服务器 - 映射到方法的属性

c# - 在 Microsoft Report Viewer 中动态填充列标题

.net - Html.Partial 与 Html.RenderPartial 和 Html.Action 与 Html.RenderAction