MVC3应用程序(Windows身份验证)启用匿名访问

时间:2013-11-22 15:54:16

标签: c# asp.net-mvc asp.net-mvc-3 authentication

我使用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时,他们必须登录。

2 个答案:

答案 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()
    {
        ....
    }
}