特定控制器上的ASP.NET MVC2 Windows身份验证

时间:2011-01-05 18:13:38

标签: c# asp.net-mvc-2 windows-authentication

在ASP.NET MVC2中,如何配置站点,默认情况下不需要身份验证,但在一个特定的控制器上,我执行需要Windows身份验证。

编辑:根据我的测试,我认为这不可行。

2 个答案:

答案 0 :(得分:3)

[Authorize]
public class MyController : Controller
{
  public ActionResult Index()
  {
    return View();
  }
}

需要对MyController上的所有操作进行授权,但任何不具有[Authorize]属性的内容都应该可以公开访问。

您还需要在web.config中设置Windows身份验证。

<authentication mode="Windows"/>

This link may be helpful.

修改

创建单独的应用程序的唯一时间是,如果您需要在同一站点中同时使用Windows和表单身份验证 - 例如,如果您需要表单身份验证以供用户点击,例如讨论论坛,但管理员区域的Windows身份验证。由于身份验证方法是在应用程序级别设置的,并且无法覆盖,因此在这种情况下,需要Windows身份验证的应用程序部分必须拆分为IIS中的单独Web应用程序和虚拟目录。

答案 1 :(得分:0)

我不认为这是可能的,因为您需要在IIS中的站点级别设置Windows身份验证。您将需要两个单独的Web应用程序来实现此功能。