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

时间:2014-05-19 09:03:40

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

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

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

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

从阅读中看来我似乎需要返回403错误。我创建了一个自定义异常类型来代替UnauthorizedAccessException。如何配置MVC以对此错误返回403响应?如何设置过滤器以重定向到此错误的自定义禁止页面?我采取了正确的方法吗?

1 个答案:

答案 0 :(得分:0)

也许您可以考虑将身份验证构建到asp.net MVC中...... 问题是您只需将[Authorize]属性添加到控制器或 用户[Authorize(Users="Alice,Bob")]和群组[Authorize(Roles="Administrators")]

链接到MSDN article for reference。以及auth in mvc

的教程