Как настроить проверку подлинности с помощью форм для папки моего веб-приложения? - PullRequest
1 голос
/ 13 октября 2011

У меня есть приложение asp.net с файлом web.config в корне и по умолчанию используется проверка подлинности Windows.

У меня есть папка администратора, которая должна иметь проверку подлинности с помощью форм. для этого я добавил новый файл web.config в папку администратора, как показано ниже:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authentication mode="Forms" >      
      <forms loginUrl="~/Admin/Login.aspx" name=".ASPXFORMSAUTH" >
      </forms>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>   
  </system.web>
</configuration>

Теперь, когда я запускаю страницу в папке администратора, выдается следующее сообщение об ошибке:

Parser Error Message: It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level.  This error can be caused by a virtual directory not being configured as an application in IIS.

Как настроить проверку подлинности с помощью форм только для страниц внутри папки Admin и оставить другие страницы для проверки подлинности Windows, которая используется по умолчанию?

спасибо

1 Ответ

0 голосов
/ 13 октября 2011

Я думаю, что вам нужно будет сделать что-то вроде

В вашей папке администратора web.config

  <location path="Register.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

  <system.web>
    <authorization>
      <deny users="?"/>
    </authorization>
  </system.web>

</configuration>

В вашем корне web.config

<system.web>
<authentication mode="Forms">
      <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
</system.web>

В любом случае это может помочь вам Контроль авторизации разрешений в приложении ASP.NET

...