mvc中的重定向授权失败

时间:2011-08-16 15:36:21

标签: asp.net-mvc model-view-controller asp.net-mvc-2 authentication

我现在已经做了2天的研究,但我似乎无法找到答案。

如何将用户重定向到特定页面 这就是我现在所拥有的:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Member/LogOn" timeout="2880" />
</authentication>

我想要做的是如果用户未经过身份验证重定向到此网址:〜/ Account / Member / LogOn“ 但如果用户已经过身份验证但未获得授权,我想重定向到此网址: 〜/账户/会员/未经授权“

无论如何都可以在不创建自定义身份验证属性的情况下执行此操作吗?'

由于

2 个答案:

答案 0 :(得分:2)

您可以创建基本控制器类并重写OnActionExecuting方法,然后继承该控制器。有关详细信息,请参阅以下参考。

How to redirect from OnActionExecuting in Base Controller?

答案 1 :(得分:1)

上述代码适用于[Authorize]属性,因此,如果用户不符合授权条件或未经过身份验证,则会将其退回到loginUrl网址。

例如,

[Authorize]只是检查它们是否经过身份验证。

[Authorize(User="User1")][Authorize(Roles="Manager")]都需要身份验证并符合指定的授权条件。

但是,我认为你不能为每个人重定向。