Проверка подлинности с помощью форм, .Net 3.5 + IIS 6 - PullRequest
0 голосов
/ 16 февраля 2012

Я изменил метод аутентификации сайта интрасети с Windows на Forms, используя аутентификацию AD. Он работает, когда я запускаю его из VS 2008, переходит непосредственно на страницу login.aspx и после входа в систему переходит в default.aspx. Когда я использую URL, он пытается перейти непосредственно к default.aspx и говорит, что вы не авторизованы для просмотра этой страницы, вместо того, чтобы перейти на страницу login.aspx. Не уверен, что мне здесь не хватает. В IIS я включил анонимный доступ и отключил все остальное. В web.config у меня есть следующее:

    <authentication mode="Forms">
    <forms name=".ADAuthCookie" loginUrl="Account/Login.aspx" defaultUrl="Default.aspx" timeout="5" />
</authentication>

<authorization>
    <deny users="?"/>
    <allow users="*"/>
</authorization>

<membership defaultProvider="CMSOracleMembershipProvider">
   <providers>
      <add name="CMSOracleMembershipProvider"
          type="Oracle.Web.Security.OracleMembershipProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
          connectionStringName="CMSConnectionString"
          applicationName="/"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="false"
          requiresUniqueEmail="false"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="4"
          minRequiredPasswordLength="9"
          passwordAttemptWindow="8"/>
    </providers>
</membership>

<roleManager enabled="true" defaultProvider="CMSOracleRoleProvider">
    <providers>
        <add name="CMSOracleRoleProvider"
           type="Oracle.Web.Security.OracleRoleProvider, Oracle.Web, Version=2.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342"
        connectionStringName="CMSConnectionString"
        applicationName="/"/>
    </providers>
</roleManager>

У меня нет элемента управления входом asp, но есть несколько текстовых полей для идентификатора и пароля, и я выполняю аутентификацию с использованием AD.

Я ценю вашу помощь.

1 Ответ

1 голос
/ 16 февраля 2012

Во-первых, прочитайте это: http://support.microsoft.com/kb/326340

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

...