Проблема входа в ASP.Net - PullRequest
5 голосов
/ 10 мая 2011

Я пытаюсь запустить два веб-приложения, используя одну и ту же базу данных поставщика членства ASP.NET, которая поставляется с MVC3.Таким образом, два веб-приложения работают бок о бок, и оба они имеют одинаковое подключение к одной и той же базе данных членства.Проблема в том, что я могу войти только в одно приложение и автоматически выйти из другого.Тем не менее, функция, которую я хочу, заключается в том, что, если я вхожу в один из них, я автоматически вхожу в другой.

Мне было интересно, каков трюк, чтобы включить эту функцию.

Ответы [ 2 ]

4 голосов
/ 10 мая 2011

Если вы используете проверку подлинности с помощью форм, пользователи отслеживаются с помощью файлов cookie. Файлы cookie по умолчанию ограничены только тем приложением, которое их отправило. И из-за этого другое приложение не может видеть куки-файл аутентификации, созданный первым. Например, если у вас есть два приложения, размещенные соответственно на foo.example.com и bar.example.com, вы можете установить для свойства domain файла cookie в web.config обоих приложений значение example.com:

<forms
    loginUrl="/login/index.mcp"
    requireSSL="true"
    protection="All"
    timeout="120"
    domain="example.com"
/>

Таким образом, файл cookie будет распространяться между этими двумя приложениями, и вы сможете добиться единого входа.

0 голосов
/ 11 мая 2011

В конце концов я исправил это. Мое приложение работает в том же домене, поэтому домен не является проблемой (но большое спасибо, Дарин). Проблема в: IIS по умолчанию создает другой машинный ключ для другого веб-приложения. Поэтому я должен указать тот же ключ машины в web.config явно ~!

...