Привет, я использую FederatedPassiveSignInControl на своем сайте asp.net (под названием ChildSite), чтобы получить удостоверение пользователя от STS, настроенного на другом сайте asp.net (под названием ParentSite). Для проверки подлинности моего сайта (ChildSite) установлено значение FormsAuthentication, поэтому FederatedPassiveSignInControl находится на странице входа в систему проверки подлинности форм ChildSite.
У меня есть 2 сценария. В первом пользователь входит в ParentSite и переходит на ChildSite по ссылке в ParentSite. Во втором случае пользователь переходит непосредственно на ChildSite и авторизуется на ChildSite:
Сценарий 1:
- Пользователь открывает ParentSite в браузере
- Пользователь входит в ParentSite
- ParentSite отображает ссылку на ChildSite в браузере
- Пользователь нажимает ссылку на ChildSite
- Пользователь переходит на дочерний сайт
Здесь пользователь попадает на страницу авторизации. Требуемое поведение заключается в том, что пользователь плавно перенаправляется на запрошенный URL-адрес в ChildSite, поскольку он уже выполнил вход в ParentSite.
Вместо этого отображается страница входа, и пользователь должен нажать кнопку FedratedPassiveSigninControl, чтобы восстановить свою личность, а затем быть перенаправленным. Я не могу установить для свойства FedratedPassiveSigninControl autosignin="true". Он всегда будет перенаправлять пользователя на ParentSite, если он не вошел в систему, и это нарушит сценарий 2.
Интересно, как я обнаруживаю или как заставить FederatedPassiveSignin Control (или другие компоненты WIF) обнаруживать, что пользователь уже вошел в систему, не показывать FedratedPassiveSigninControl и просто перенаправлять пользователя на запрошенную им страницу.
Сценарий 2:
- Пользователь открывает ChildSite в браузере
- Пользователь вводит учетные данные в текстовые поля на ChildSite и нажимает «Войти».
- Отображается запрошенная страница на ChildSite.
Я что-то упустил здесь?
Ура, mortb