Перекрестное перенаправление приложения в проверке подлинности с помощью форм
У меня есть дизайн 2 веб-приложений и я использую Authections Forms для единого входа
Сеть A: содержит Login.aspx
страница
Сеть Б: содержит OK.aspx
страница
когда доступ Ok.aspx
в Web B он будет перенаправлен на Login.aspx
в сети А (это работает хорошо)
Но проблема в том, что при успешном входе в систему я не могу перенаправить на Ok.aspx
в сети B
FormsAuthentication.RedirectFromLoginPage(username,false);
Попробуй перенаправить на Ok.aspx
в сети А не в сети Б
мой <authentication>
разделы:
Веб А:
<authentication mode="Forms">
<forms name="appNameAuth"
path="/"
loginUrl="login.aspx"
protection="All"
timeout="30"
enableCrossAppRedirects="true">
</forms>
</authentication>
Веб Б:
<authentication mode="Forms">
<forms name="appNameAuth"
path="/"
loginUrl="webAdomain/login.aspx"
protection="All"
timeout="30"
enableCrossAppRedirects="true" >
</forms>
</authentication>
Любое предложение?
1 ответ
Вы можете сделать это, установив значения machineKey в каждом из файлов web.config вашего приложения так, чтобы они совпадали.
Под "соответствием" я имею в виду удаление параметра IsolateApps из каждого web.config (так как это будет делать именно то, что говорится, и это плохо для того, что вы пытаетесь сделать).
Затем вам нужно сгенерировать новые значения для decryptionKey и validationKey (значения, соответствующие выбранному вами типу...SHA1 и т. Д.) И скопировать их в каждый из ваших файлов web.configs.
вуаля! все должно работать
Вот ссылка на статью Microsoft о настройке machineKey для справки: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx