2016-07-08 2 views
1

Один из моих действий с контроллером отказывается аутентифицироваться, и я не могу понять, почему. Это просто стандартная VerifyCode действие от стандартной MVC 5 шаблон проекта в Visual Studio, и это выглядит следующим образом:AllowAnonymous работает с перерывами в ASP.NET MVC 5

[AllowAnonymous] 
public async Task<ActionResult> VerifyCode(string provider, string returnUrl, bool rememberMe) 
{ 
    if (!await SignInManager.HasBeenVerifiedAsync()) 
    { 
     return View("Error"); 
    } 
    return View(new VerifyCodeViewModel { Provider = provider, ReturnUrl = returnUrl, RememberMe = rememberMe }); 
} 

Всякий раз, когда мое приложение попадает этот контроллер без вошедшего в систему пользователя, он отправляет пользователя обратно на входе в систему экран, хотя он украшен AllowAnonymous. Напротив, это стандартное действие контроллера:

[AllowAnonymous] 
public ActionResult ForgotPassword() 
{ 
    return View(); 
} 

Работает нормально, если ударил напрямую без входа пользователя.

Так, чтобы попытаться выяснить, что происходит, я добавил следующие тестовые действия в мой контроллер:

// to see if it's down to the parameters 
[AllowAnonymous] 
public ActionResult VerifyCode() 
{ 
    return View(new VerifyCodeViewModel { Provider = "", ReturnUrl = "", RememberMe = false }); 
} 

// to see if it's down to the action name 
[AllowAnonymous] 
public ActionResult VerifyCod() 
{ 
    return View(new VerifyCodeViewModel { Provider = "", ReturnUrl = "", RememberMe = false }); 
} 

// to see if it's down to the viewmodel 
[AllowAnonymous] 
public ActionResult ForgotPassword() 
{ 
    return View(new VerifyCodeViewModel { Provider = "", ReturnUrl = "", RememberMe = false }); 
} 

Попасть в первые два из этих причин мое приложение, чтобы отправить меня обратно на страницу входа в систему. Нажатие на третье место делает просмотр ForgotPassword без проблем.

У меня нет настраиваемых фильтров авторизации. Что может быть здесь?

ответ

0

Проверьте файл .vs/config/applicationhost.config и проверьте следующие разделы: Deny и true.

<section name="anonymousAuthentication" overrideModeDefault="Deny" /> 
<add name="AnonymousAuthenticationModule" lockItem="true" /> 
+0

Найдено, что они нашли. Они настроены так, как описано. –

+0

Какие флаги установлены на самом контроллере? –

Смежные вопросы