Я настроил два приложения ASP.NET на машине, их web.config файлы содержат то же значение applicationName в объекте AspNetSqlMembershipProvider, таким образом, они совместно используют пользователей и роли.
Проблемная последовательность:
и наоборот.
Я должен использовать другой подход к совместному использованию данных для входа между двумя приложениями?
Проблема заключается в том, что для аутентификации двух разных учетных записей используется один и тот же файл cookie.
Насколько я понимаю, решение состоит в том, чтобы давать разные имена cookie для разных учетных записей, чтобы один cookie не перезаписывал другой.
Вероятно, решение находится в web.config.
Измените значение имени на другое в ваших 2 приложениях, если у вас один и тот же домен и вы работаете в разных каталогах / приложениях, или измените также значение домена который также использовался для хранения файлов cookie.
<authentication mode="Forms">
<forms name=".CookieSuffix" domain="yoururl.com" ... />
</authentication>
Например, в 2 разных файлах web.config в ваших приложениях поместите
в приложение 1: name = ". App1"
в приложении 2: name = ". app2"
Или
в приложении 1: domain = "app1.yoururl.com"
в приложении 2: domain = "app2.yoururl.com"
, если вы разделяете свои приложения, основываете их на URL-адресах или даже пробуете какие-то похожие методы.
Файл cookie хранится с использованием имени файла cookie в доменном имени, поэтому это 2 значения, которые вы должны попытаться разделить.
Подробную информацию о настройке формы можно найти здесь: http://msdn.microsoft.com/en-us/library/aa480476.aspx
Если у вас есть возможность выполнить вход вручную, решение заключается в этой функции
FormsAuthentication.GetAuthCookie(cUserName, false, "cookiePath");
FormsAuthentication.SetAuthCookie(cUserName, false, "cookiePath");
Вам нужно только использовать другой cookiePath, но вы должны изменить многие точки в своей программе и зафиксировать вход в систему, выход из системы и аутентификацию.
Надеюсь, это вам поможет.
Вы должны проверить это руководство.
Прокрутите вниз до раздела, озаглавленного «Разбиение пользовательского хранилища на приложения». Там говорится, что вы можете использовать одно и то же хранилище пользователей для нескольких приложений.