覆盖viewresult的控制器授权属性

时间:2011-12-27 07:51:16

标签: asp.net-mvc-3

如果已将authorize属性应用于控制器,是否可以允许未经授权访问该控制器内的操作/视图? 比方说,我不希望授权在 Test2 中发生以下内容:

[Authorize]
public class TestController : Controller
{

    public ViewResult Test()
    {
        return View();
    }

    public ViewResult Test2()
    {
        return View();
    }
}

提前致谢。

2 个答案:

答案 0 :(得分:1)

不,这是不可能的。您必须在Test操作上应用Authorize属性,而不是在控制器上。另一种可能性是将Test2操作放在另一个未使用此属性修饰的控制器上。

答案 1 :(得分:0)

回到MVC 3,似乎确实不可能(如Darin Dimitrov所述),但是如果有人使用MVC 4(及以上)遇到这个问题,他\她应该可以使用{{1} } filter来实现结果。所以代码将成为:

AllowAnonymous