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

StackOverflow https://stackoverflow.com//questions/23030102

Вопрос

У меня есть проблема, я не могу понять в ASP.NET Identity

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

  1. Создайте два пустых веб-проекта, у них есть имена:
      .
    • webapplation1
    • webapplation2
  2. Установочный пакет " Образцы идентификаторов Microsoft ASP.NET 2.0.0 - Beta2 " на каждом проекте
  3. Создать две базу данных SQL имеют следующие имена:
      .
    • webdatabase1
    • webdatabase2
  4. Добавить пользователя имеется имя " user1 " в webapplation1
  5. Добавить пользователя имеется имя " USER2 " В webapplication2
  6. Запустите два проекта в в то же время .
  7. Моя проблема заключается в том, когда я вхожу в систему by " user1 " в " webapplation1 "

    Я нахожу webapplation2 зарегистрирован с user1 .

    Несмотря на у каждого проекта есть отдельная база данных.

    , а также no user1 в webapplation2 .

    Что случилось?

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

Это было полезно?

Решение

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

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

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

app.UseCookieAuthentication(new CookieAuthenticationOptions
{
    // ...
    CookieName = "WebApp1AuthCookie"
});
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top