Следуя инструкциям в этом руководстве Using Azure ACS У меня работает служба Azure ACS, настроенная &, аутентифицируясь через Facebook, перенаправляясь обратно на веб-сайт, запущенный на моем сервере разработки.Azure ACS, WIF 3.5, Asp.Net 3.5 Пользовательский поставщик членства и IsAuthenticated
Успех аутентификации Azure перенаправляет обратно на мой локальный сайт разработки, а флаг IsAuthenticated - true, однако я хочу установить флаг IsAuthenticated в true, только если сообщение электронной почты из заявки также существует в моей локальной базе данных, посредством проверки/вызов пользовательского пакета MembershipProvider. Если письмо из заявки не существует, я хочу перенаправить клиента на страницу регистрации. После регистрации и проверки подлинности я хотел бы установить флаг IsAuthenticated равным true.
В настоящее время после аутентификации с помощью Facebook и AzureACS пользователь может запросить безопасную страницу, такую как ViewAccountBalance.aspx, даже если учетная запись не существует, поскольку из поля IsAuthenticated flag соответствует true. Заинтересованы в том, чтобы услышать, что сделали другие, и что такое лучшая практика.
В OnInit() от Global.asax Я добавил: this.PostAcquireRequestState + = (s, e) => SecurityHelper.PostAcquireRequestState(); Затем в SecurityHelper.PostAcquireRequestState У меня есть логика, чтобы проверить, защищена ли страница стандартным FormsAuth, аналогично (http://stackoverflow.com/questions/3390719/determine-if-current-page-requires-authorization) Я также просматриваю через Memberhip.GetUser и проверяю, существует ли учетная запись, иначе я перенаправляюсь на страницу регистрации. – Andre