0

Поэтому у меня есть приложение ASP.NET MVC3 со следующим web.configГде MVC3 перенаправляет неавторизованных пользователей?

<?xml version="1.0"?> 
<configuration> 
    .... 
    <system.web> 
    .... 
    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/LogOn" defaultUrl="~" 
      slidingExpiration="true" timeout="10080" /> 
    </authentication> 

и контроллером:

[Authorize(Roles="admin")] 
public class MetaStyleController : TunaController 
{ 
    .... 
    public ActionResult Index() 
    { 
     .... 

Если я не вошел в систему, и я пытаюсь ударить http//localhost/myAppPath/MetaStyle, Я перенаправляюсь на страницу входа в систему, как указано выше, правильно?

Так почему я переадресовываюсь на http://localhost/myAppPath/Account/Login?ReturnUrl=%2fmyAppPath%2fMetaStyle? (Уведомление, URL-адрес имеет Войти вместо LogOn)

Где Login приходит? Я не вижу этого в своем проекте.

+1

Вы видите достоверную страницу по этому URL-адресу? – jorel

+0

Спендер, посмотрим, поможет ли это сообщение от Джона Галлоуэя: http://weblogs.asp.net/jgalloway/archive/2012/05/04/asp-net-mvc-authentication-customizing-authentication-and-authorization-the- right-way.aspx –

+0

Итак, мы ищем фантом входа :) Мое предположение заключается в перекрытии файлов web.config в родительских/дочерних каталогах ... Учетная запись/логин должна быть определена где-то ... – Tisho

ответ

1

См. ASP.NET MVC 3 Release notes. В соответствии с этим вы должны использовать следующую настройку приложения.

<add key="autoFormsAuthentication" value="false" />