2010-06-08 3 views
1

Я пытаюсь интегрировать ASP.NET Security с классическим ASP. Как в следующей статье - http://weblogs.asp.net/scottgu/archive/2007/03/04/tip-trick-integrating-asp-net-security-with-classic-asp-and-non-asp-net-urls.aspx, но у меня IIS 7.0 вместо IIS 6.0, как в примере.Проверка подлинности форм для классического ASP на IIS 7.0

Вы можете найти свой конфигурационный файл ниже (после добавления подстановочных тегов сценария)

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <handlers accessPolicy="Read, Script"> 
      <add name="ISAPI x64" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> 
      <add name="ISAPI x32" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
     </handlers> 
    </system.webServer> 

<system.web> 
    <authentication mode="Forms"> 
    <forms loginUrl="Login.aspx"></forms> 
    </authentication> 
</system.web> 

<location path="page.asp"> 
    <system.web> 
    <authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
    </authorization> 
    </system.web> 
</location> 

<location path="default.asp"> 
    <system.web> 
    <authorization> 
    <deny users="?" /> 
    <allow users="*" /> 
    </authorization> 
    </system.web> 
</location> 
</configuration> 

Но приложение вызывает ASP-страницы без какой-либо аутентификации.

Я раньше не работал с классическим ASP, поэтому я искал любую информацию, которая может мне помочь.

Я нашел еще одну интересующую статью http://support.microsoft.com/kb/891028 - «Защита классических страниц ASP с использованием проверки подлинности форм». Хорошее решение, но в этом случае мне нужно реализовать код безопасности (код сценария ASP) на каждой странице.

И делает ли следующая фраза, что первое решение не будет работать?

Защита классических страниц ASP с проверкой подлинности форм не поддерживается конструкцией, поскольку ASP и ASP.NET использовать различные обработчики ...

Можно ли выбрать мне решение/способ сделать проверку подлинности на основе формы для классический ASP на IIS 7.0?

ответ

1

Вы можете сделать это, используя IIS 7 Integrated Mode, как описано here.

+0

Да, спасибо, я видел это решение здесь -http: //forums.asp.net/t/1427825.aspx. Я вставил вместо трех тегов модулей и работал одинаково. Знаете ли вы какие-либо недостатки runAllManagedModulesForAllRequests = "true"? –

+0

Да, это означает, что все управляемые модули будут выполняться для всех запросов, это может отрицательно повлиять на производительность в зависимости от того, насколько важно ваше приложение, если вы будете следовать тому, что говорится в статье (только для модулей аутентификации), тогда модули управляемого кода будут не запускается для ASP (например, ASP.NET Windows Auth, кэша вывода ASP.NET, состояния сеанса ASP.ENT и т. д., которые бесполезны в вашем сценарии) –

Смежные вопросы