AuthenticationIdentityManager не может быть найден после обновления пакетов nuget (предварительная версия vs2013)

Боролся с этим все утро. Вот ссылки, на которые мне указали, и мне все еще не повезло:

http://www.asp.net/visual-studio/overview/2013/release-notes-(release-candidate)

https://stackoverflow.com/a/18426574/1118218 (я сделал все, что предлагает принятый ответ)

https://stackoverflow.com/a/18419011/1118218 (тот же вопрос, что и выше, но решение здесь не сработало либо не разрешает классы)

Я установил обновление веб-инструментов ASPNET. Перезапустил визуальную студию. Кажется, все построено правильно, кроме AccountController. Он не может найти AuthenticationIdentityManager (и IdentityStore).

[Authorize]
public class AccountController : Controller
{
    public AccountController()
    {
        IdentityManager = new AuthenticationIdentityManager(new IdentityStore());
    }

    public AccountController(AuthenticationIdentityManager manager)
    {
        IdentityManager = manager;
    }

    public AuthenticationIdentityManager IdentityManager { get; private set; }
}

Любая идея, как заставить это работать? Все пакеты nuget, связанные с ASP.NET Identity, Owin, EF и MVC, обновлены до последней предварительной версии.


person ledgeJumper    schedule 28.10.2013    source источник


Ответы (2)


В зависимости от операции, которую вы хотите достичь здесь? вы можете получить текущий менеджер аутентификации через

var authenticationManager = HttpContext.Current.GetOwinContext().Authentication;

который затем позволит вам делать такие вещи, как

authenticationManager.SignOut();

классы AuthenticationIdentityManager и IdentityStore больше не существуют.

person Excommunicated    schedule 28.10.2013

Используемый вами AccountController, по-видимому, создан более старой версией VS2013. Самый простой способ заставить это работать с последней версией ASP.NET Identity — создать новый проект MVC с отдельными учетными записями, используя выпускную версию VS2013. Это создаст класс AccountController, совместимый с последними сборками ASP.NET Identity. Затем замените свой AccountController на тот, который вы только что создали.

person Olav Nybø    schedule 29.10.2013