Asp.Net: Как разрешить доступ к странице пользователю интрасети и запретить пользователям экстрасети? - PullRequest
5 голосов
/ 04 ноября 2011

У меня есть приложение с двумя страницами: pagein.aspx и pageout.aspx.Pagein.aspx должен быть доступен ТОЛЬКО пользователям внутренней сети моей компании, но pageout.aspx должен быть доступен пользователям внешней сети (в мире).Последний вариант - использовать авторизацию (пользователя и пароль), но я предпочитаю использовать логику, которую я описал.Это возможно в asp.net?Если да, то как?

Ответы [ 3 ]

5 голосов
/ 04 ноября 2011

Вы можете сделать это через web.config

<location path="Pagein.aspx"> 
    <system.web>
        <authorization>
          <allow users="*" allow role="YourDomain\Domain Users" />
          <deny users="*" />
         </authorization>
    </system.web>
</location>
<location path="PageOut.aspx"> 
    <system.web>
        <authorization>
          <allow users="*" />
        </authorization>
    </system.web>
</location>
1 голос
/ 04 ноября 2011

Более простое решение - иметь два веб-сайта (два виртуальных каталога), в одном из которых включить аутентификацию Windows: http://msdn.microsoft.com/en-us/library/ff647405.aspx

В другом - использовать членство в ASP.NET или оставить его открытым и доступным для анонимных пользователей.пользователи.

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

0 голосов
/ 04 ноября 2011

Я думаю, что эта статья о Создание безопасных приложений ASP.NET даст вам основную идею.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...