Перекрестное перенаправление приложения в проверке подлинности с помощью форм - PullRequest
2 голосов
/ 21 марта 2011

У меня есть дизайн 2 веб-приложений и я использую Authections Forms для единого входа

Веб A: содержит Login.aspx страницу

Веб B: содержит OK.aspx страницу

при доступе Ok.aspx в Web B он будет перенаправлен на Login.aspx в Web A (работает хорошо)

Но проблема в том, что при успешном входе в систему я не могу перенаправить на Ok.aspx в сети B

FormsAuthentication.RedirectFromLoginPage(username,false);

Попытка перенаправить на Ok.aspx в сети А, а не в сети Б

my <authentication> разделов:

Веб A:

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true">
    </forms>
</authentication>

Веб B:

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="webAdomain/login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true" >
    </forms>
</authentication>

Есть предложения?

1 Ответ

1 голос
/ 26 июля 2011

Вы можете сделать это, установив значения machineKey в каждом из файлов web.config вашего приложения, чтобы они совпадали.

Под «соответствием» я имею в виду удаление параметра IsolateApps из каждого файла web.config (поскольку это будет делать именно то, что говорится, и это плохо для того, что вы пытаетесь сделать).

Затем вам нужно сгенерировать новые значения для decryptionKey и validationKey (значения, которые соответствуют выбранному вами типу ... SHA1 и т. Д.) И скопировать их в каждый из ваших web.configs

вуаля! все должно работать

Вот ссылка на статью Microsoft о настройке machineKey, для справки: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

...