Перекрытие входа пользователя в двух проектах с удостоверением ASP.NET

У меня проблема, которую я не могу понять в идентификаторе asp.net

примените следующие шаги

  1. create two empty web projects, they have names :
    • WebApplication1
    • Веб-приложение2
  2. установить пакет «Microsoft ASP.NET Identity Samples 2.0.0-beta2» в каждом проекте
  3. Create two sql database have the following names:
    • WebDatabase1
    • WebDatabase2
  4. добавить пользователя с именем "User1" в WebApplication1
  5. добавить пользователя с именем "User2" в WebApplication2
  6. запустить два проекта одновременно.

Моя проблема заключается в том, что я вхожу в систему с помощью «User1» в «WebApplication1».

Я обнаружил, что WebApplication2 регистрируется с User1.

несмотря на то, что каждый проект имеет отдельную базу данных.

А также NO User1 в WebApplication2.

В чем проблема?

Извините за мой плохой английский!


person Ricky Suhendar    schedule 12.04.2014    source источник


Ответы (1)


Когда пользователь входит на сайт, промежуточное ПО аутентификации сериализует информацию о вошедшем в систему пользователе (включая идентификатор, имя и роли) в зашифрованный файл cookie аутентификации. При последующих посещениях платформа просто расшифровывает и считывает эту информацию, не обращаясь к базе данных.

По умолчанию в приложениях ASP.NET используется одно и то же имя файла cookie. Вы видите, что WebApp1 устанавливает файл cookie, а WebApp2 читает его. Это связано с тем, что они находятся в одном домене (или на локальном хосте), а файлы cookie совместно используются ресурсами в одном домене.

Попробуйте изменить имя файла cookie в своих приложениях...

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    // ...
    CookieName = "WebApp1AuthCookie"
});
person Anthony Chu    schedule 12.04.2014