2013-11-22 84 views
1

我使用VS2012创建了MVC3 Intranet应用程序。它使用Windows身份验证。它在我的本地IIS上运行。 IIS有匿名&已启用Windows身份验证。MVC3应用程序(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(); 
} 

我想知道怎么做才能做的是​​指定的[授权]属性,只有当有用户身份验证...在换言之,当用户进入该网站(家庭)时,不需要登录。当他们导航到TestController时,他们必须登录。

回答

0

明确指定这样的:

[AllowAnonymous] 
public ActionResult Index() 
{ 
    ViewBag.Message = "Welcome to ASP.NET MVC!"; 

    return View(); 
} 
0

的授权属性可以放在类级或行动水平。如果您将其放置到课程级别,则每个操作都需要您登录。如果您将其放置在操作级别上,则只有该特定操作需要用户身份验证。

[Authorize] 
public class CustomerServiceController 
{ 
    .... 
} 

public class AccountController 
{ 
    [AllowAnonymous] 
    public ActionResult Index() 
    { 
     .... 
    } 

    [Authorize] 
    public ActionResult Accounts() 
    { 
     .... 
    } 
} 
相关问题