【发布时间】:2009-03-23 19:11:40
【问题描述】:
我正在开发的应用程序中的一个过滤器检查用户是否拥有他们试图更改的项目。该动作由[RequiresOwnership] 属性修饰,在属性逻辑中,我检查用户是否拥有该项目,如果不拥有,则抛出UnauthorizedAccessException。
我的问题是:我在哪里可以捕获该异常?理想情况下,我希望将用户重定向到解释为什么不允许他们尝试做的事情的页面,而不仅仅是显示异常页面。我不认为我会在由属性修饰的操作中捕获异常,那么在 .NET MVC 模型中,是否有一些应用程序的基础部分可以处理更高层抛出的异常?
编辑:我意识到我可以通过过滤器本身重定向到一个页面,但这对我来说似乎有点 hacky。最好通过属性抛出异常,并有一个标准的地方可以捕获和处理它们。
【问题讨论】:
标签: c# .net model-view-controller exception filter