您是否可以为未经身份验证的用户授予对控制器/视图的访问权限

时间:2011-02-03 14:08:22

标签: asp.net asp.net-mvc

我有一个使用asp.net身份验证的MVC 3应用程序。我刚刚创建了一个自定义错误控制器和几个未知错误和404的视图。我登录到应用程序时工作正常,但如果在登录期间发生内部服务器错误,我想显示错误/未知视图。但是我只是不断重定向回登录,因为我没有通过身份验证。

我已将“视图/错误”的位置路径添加到我的Web.config以允许访问所有用户,但我猜测它是导致重定向的控制器访问。

你有什么方法可以在MVC中允许这个或者我需要考虑另一种解决方案吗?只是不想在登录页面添加通用消息,因为这是我的未知错误视图。

2 个答案:

答案 0 :(得分:1)

您是否尝试过在web.config文件中添加位置部分?

网址应该是错误页面的网址。在location元素内,将授权指定为allow users =“*”

或者,将authorize属性添加到错误控制器或将用户设置为“*”的操作。

你有点正确。您需要更改有权访问错误控制器的人员。 authorize属性和location元素都允许你这样做。

西蒙

答案 1 :(得分:0)

我发现在控制器上使用[Authorize]属性会更好。您可以在需要授权用户的控制器或视图上使用它。这样每个人都可以访问您的错误控制器。