我使用VS2012创建了一个MVC3 Intranet应用程序。它使用Windows身份验证。它在我的本地IIS上运行。 IIS有Anonymous& Windows身份验证已启用。
一旦我运行该应用程序,就会出现一个登录弹出窗口。
HomeController中:
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
TestController:
[Authorize]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
我想知道该怎么做才能让用户在指定[Authorize]属性时进行身份验证...换句话说,当用户进入站点(Home)时,不需要登录。当他们导航到TestController时,他们必须登录。
答案 0 :(得分:0)
您可以像这样明确指定:
[AllowAnonymous]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
答案 1 :(得分:0)
authorize属性可以放在类级别或操作级别上。如果将其置于类级别,则每个操作都需要您登录。如果将其置于操作级别,则只有该特定操作才需要用户身份验证。
[Authorize]
public class CustomerServiceController
{
....
}
public class AccountController
{
[AllowAnonymous]
public ActionResult Index()
{
....
}
[Authorize]
public ActionResult Accounts()
{
....
}
}