2010-08-31 2 views
0

У меня есть приложение ASP.NET с использованием Ajaxpro и проверка подлинности форм. Сначала я была проблема, пытаясь избежать прохождения ajaxpro обработчиков через авторизацию, которая была решена, когда я включил их в отдельных местах на web.config:Авторизация на основе URL-адреса и проблема ajaxpro

<location path="ajaxpro/prototype.ashx"> 
    <system.web> 
      <authorization> 
        <allow users="*"/> 
      </authorization> 
    </system.web> 
</location> 
<location path="ajaxpro/core.ashx"> 
    <system.web> 
      <authorization> 
        <allow users="*"/> 
      </authorization> 
    </system.web> 
</location> 
<location path="ajaxpro/converter.ashx"> 
    <system.web> 
      <authorization> 
        <allow users="*"/> 
      </authorization> 
    </system.web> 
</location> 

Однако, я все еще получаю 401 ошибки при попытке для доступа к нашим AjaxMethods. Я событие пыталось поставить наши типы по следующей конфигурации:

<location path="ajaxpro/MyType,MyAssembly.ashx"> 
    <system.web> 
     <authorization> 
      <allow users="*"/> 
     </authorization> 
    </system.web> 
</location> 

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

Хотел бы я сделать что-то вроде path = "ajaxpro/*", но похоже, что это невозможно. У кого-нибудь есть другие идеи?

ответ

0

Вы должны быть в состоянии определить местоположение с именем папки только как это:

<location path="ajaxpro"> 
     <system.web> 
      <authorization> 
        <allow users="*"/> 
      </authorization> 
     </system.web> 
    </location> 
+0

Я попытался это, но я все еще получаю те 401 при попытке получить доступ к ajaxpro/Whatever.ashx ... может быть, потому что это не физическая папка, а путь обработчика? – rla4

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