Я изменил метод аутентификации сайта интрасети с 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.
Я ценю вашу помощь.