Предполагая, что каждый домен имеет свой собственный файл web.config, я думаю, это может сработать.
1) Создайте страницу входа для www.mysite.com и blog.mysite.com
2) Укажите обе базы данных членов
3) Убедитесь, что оба имеют одинаковый атрибут applicationName членства:
<membership><providers><add applicationName="mySite">
4) Убедитесь, что для обоих имен установлено одинаковое имя:
<authentication mode="Forms"><forms name="mySite">
Это должно гарантировать, что оба сайта используют одну и ту же базу данных о членстве и один и тот же куки-файл аутентификации, но они будут использовать свои индивидуальные страницы входа в систему, поэтому URL-адрес возврата должен быть в порядке.
Можете ли вы вызвать FormsAuthentication.SetAuthCookie Method и вручную перенаправить на http-реферер?
Я только что видел это в документации для FormsAuthentication.RedirectFromLoginPage
По умолчанию переменная ReturnUrl
должен ссылаться на страницу в
текущее приложение. Если ReturnUrl
относится к странице в другом
приложение или на другом сервере,
метод RedirectFromLoginPage
перенаправляет на URL в
Свойство DefaultUrl. Если хотите
разрешить перенаправления на страницу за пределами
текущее приложение, вы должны установить
Свойство EnableCrossAppRedirects для
истина с использованием enableCrossAppRedirects
атрибут конфигурации форм
элемент. Примечание о безопасности Примечание по безопасности:
Установка EnableCrossAppRedirects
свойство true, чтобы позволить
Переадресация между приложениями является
потенциальная угроза безопасности. когда
перенаправления между приложениями
разрешено, ваш сайт уязвим для
вредоносные веб-сайты, которые используют ваши
страница входа, чтобы убедить ваш веб-сайт
пользователи, которые они используют безопасный
страница на вашем сайте. Для повышения безопасности
при использовании кросс-приложения
перенаправляет, вы должны переопределить
Метод RedirectFromLoginPage, чтобы разрешить
перенаправляет только на утвержденные веб-сайты.
Помогает ли вообще использование этого свойства?