Разрешение публичного доступа к двум страницам ASP.NET WebForm, когда остальные требуют авторизации - PullRequest
2 голосов
/ 24 января 2012

Мы добавляем пару страниц в наше приложение, которые не нужно блокировать за логином.Как бы я открыл две страницы для публичного доступа.

Вот мой Web.config:

<authentication mode="Forms">
    <forms name=".ORGANIZATION" loginUrl="Default.aspx" protection="All" timeout="120"/>
</authentication>
<authorization>
    <deny users="?"/>
    <allow users="*"/>
</authorization>

Мы хотим, чтобы page1.aspx и page2.aspx были публичными.Как бы я это допустил?

Ответы [ 2 ]

3 голосов
/ 24 января 2012

Вы бы добавили location в web.config, чтобы освободить их:

<configuration>
    <!-- The rest of your web.config -->
    <system.web>
        <authentication mode="Forms">
            <forms name=".ORGANIZATION" loginUrl="Default.aspx" protection="All" timeout="120"/>
        </authentication>
        <authorization>
            <deny users="?"/>
            <allow users="*"/>
        </authorization>
    </system.web>
    <location path="page1.aspx">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    <location path="page2.aspx">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
</configuration>
1 голос
/ 24 января 2012

На аутентифицированном веб-сайте вы можете использовать элемент Location в web.config, чтобы указать, что страница может быть доступна анонимно.

В этом разделе web.config любой может получить доступ к странице RecoverPassword без проверки подлинности, но никто не может получить доступ к страницам в папке Admin без проверки подлинности.

<configuration>
  <location path="RecoverPassword.aspx">   // specify file    \   only specify one --
  <location path="Admin" >                 // specify folder  /   either file or folder
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>

  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="UserLogin.aspx" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
  </system.web>
</configuration>
...