У меня есть родительское веб-приложение и дочернее веб-приложение. Я использую единый вход между ними. Предполагается, что дочернее приложение перенаправляет анонимных пользователей на страницу входа родительского приложения. Мы только что обновили платформу .net 4.0, и теперь SSO больше не работает.
Настройка следующая. У меня есть тег machineKey, все настроены с ключом проверки и ключом дешифрования в обоих приложениях.
затем для тега аутентификации у меня есть следующее в дочернем приложении (я заменил реальный URL родительского приложения на «parentApp» для конфиденциальности):
<authentication mode="Forms">
<forms name=".SSOAuth" loginUrl="parentApp/Login.aspx" path="/" protection="All"/>
</authentication>
<sessionState mode="InProc" cookieless="false" timeout="30"/>
<authorization>
<!--<deny users="?"/>
<allow users="*"/>-->
</authorization>
Раньше это прекрасно работало, прежде чем мы перешли на .net 4.0 Кто-нибудь может пролить свет на то, почему это больше не работает? Он не перенаправляет и не выполняет аутентификацию на дочернем сайте, даже если я вручную перехожу на страницу входа родительского приложения и захожу.
Редактировать: мы никогда ничего не настраиваем в machine.config. тег machineKey должен быть установлен в файле web.config.