2013-11-22 3 views
1

Я создал приложение Intranet MVC3 с использованием VS2012. Он использует проверку подлинности 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() 
    { 
     .... 
    } 
} 
Смежные вопросы