Как я могу разрешить несколько входов в систему с проверкой подлинности форм? - PullRequest
1 голос
/ 17 февраля 2010

У меня проблема с аутентификацией членства. У меня есть два веб-сайта, website1 и website2, и оба используют аутентификацию форм с помощью поставщика членства SQL (SQLEXPRESS). У меня есть два сценария:

Дело 1:

не публикуйте website1 и попробуйте зайти на website1 с user1 -> Работает нормально не публикуйте website2 и попробуйте войти -> на нем отображается ранее зарегистрированный пользователь (пользователь Website1) -> Perfect

Случай 2:

опубликуйте сайт1 и войдите -> работает нормально опубликуйте веб-сайт 2 и попробуйте войти -> на нем не отображается зарегистрированный пользователь сайта 1 (понятия не имею, почему)

затем войдите в веб-сайт2 и откройте веб-сайт1 -> на нем не отображается веб-сайт2, вошедший в систему пользователь или какой-либо пользователь ...

Похоже, что-то не так с печеньем ....

мой web.config выглядит так:

<authentication mode="Forms">
      <forms loginUrl="~/LogOn/LogOn" timeout="2880" protection="All"/>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
    <membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
      </providers>
    </membership>

Пожалуйста, позвольте мне, если у вас есть идеи по этому поводу ...

спасибо, swetha

1 Ответ

1 голос
/ 17 февраля 2010

вам нужно установить один и тот же ключ машины для каждого сайта. сгенерировать один здесь

и поместите этот элемент в оба файла web.config и посмотрите, как он работает.

также, имена приложений должны быть одинаковыми. см это

также Вы можете включить enableCrossAppRedirects

...
<system.web>
  ...
  <machineKey 
validationKey="36DFB653C93BE95D70071E2033069338CC8AB908B75639BDEACE846838D9455B7926BA0C50CFDD4F8361643C200913244C3DBC14482895FC05B5CE6B8F24F2A2"
decryptionKey="AC737C3E32A594AB50EF38C3BB40537A4794F2E638D859898368BD1B35A5FF81"
validation="SHA1" decryption="AES"
/>

  ...
</system.web>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...