Обычная проверка подлинности на сайте с удаленного сервера не работает - PullRequest
0 голосов
/ 09 декабря 2011

Я установил действительно базовую схему аутентификации, используя SHA1 pw и учетные данные, хранящиеся в web.config.

После развертывания сайта .Net 4.0 (в IIS 7) я могу успешно войти в систему, когда захожу на сайт www с сервера, на котором находится сайт.

Однако, когда вы пытаетесь войти через браузер на другом компьютере, ввод соответствующих учетных данных просто циклически возвращается к экрану входа в систему.

В IIS-аутентификации на сайте я включил Анонимный, Базовый и Формы.

  <system.web>
    <compilation debug="true" targetFramework="4.0">
    </compilation>
    <authentication mode="Forms">
      <!-- <forms loginUrl="~/Account/Login.aspx" timeout="2880"/> -->
      <forms name=".ASPXFORMSAUTH" loginUrl="~/Account/Login.aspx" defaultUrl="~/AdminPages/Default.aspx" cookieless="UseCookies"  timeout="30">
        <credentials passwordFormat="SHA1">
          <user name="user1" password="77A80B8DE9F00DD1CC502344C38FC1BA24CC0897" />
          <user name="user2" password="329E66AD5EC6E09AA8002311ACAF6ADBACD12DC4" />
        </credentials>
      </forms>
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
  </system.web>
  <location path="Styles">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Scripts">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="Account">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
  <location path="AdminPages">
    <system.web>
      <authorization>
        <allow users="user1,user2"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

Есть идеи?

Спасибо.

1 Ответ

0 голосов
/ 27 декабря 2011

Используя следующую конфигурацию, я смог добиться желаемой пользовательской аутентификации с учетными данными, хранящимися в Web.config с шифрованием SHA1 pw.Надеюсь, это кому-нибудь поможет:

<authentication mode="Forms">
  <forms defaultUrl="~/AdminPages/Website.aspx" loginUrl="~/Account/Login.aspx" slidingExpiration="true" timeout="1000">
    <credentials passwordFormat="SHA1">
      <user name="baden1" password="77A80B8DE9F00DD1CC502344C38FC1BA24CC0897"/>
      <user name="bruno1" password="329E66AD5EC6E09AA8002311ACAF6ADBACD12DC4"/>
    </credentials>
  </forms>
</authentication>
<authorization>
  <allow users="admin"/>
  <deny users="?"/>
</authorization>
...