Перекрестное перенаправление приложения в проверке подлинности с помощью форм

У меня есть дизайн 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

Другие вопросы по тегам