Назад | Перейти на главную страницу

Базовая авторизация IIS ala .htaccess / .htpasswd в apache

Как мне реализовать защиту страниц (приложение asp.net mvc), чтобы, когда я попадаю на домашнюю страницу или любые другие страницы в приложении, я получаю всплывающее диалоговое окно входа в систему в браузере

Ищу что-то похожее на то, что Apache .htaccess и .htpasswd делается.

У меня есть веб-версия IIS 7.5 / Windows Server 2008 R2.

Прежде всего вам нужно включить базовую аутентификацию. Этот параметр можно найти в функции проверки подлинности для сайта в диспетчере IIS:

Дважды щелкните значок, затем щелкните правой кнопкой мыши Базовая аутентификация и выберите включить:

Вы также можете настроить это прямо в своем web.config файл (ваше приложение даже не обязательно должно быть приложением ASP.NET):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>
            <authentication>
                <basicAuthentication enabled="true" />
            </authentication>
        </security>
    </system.webServer>
<configuration>

Это будет работать только в web.config при условии, что эта функция была делегирована как Читай пиши.

По умолчанию вам нужно будет создать отдельную учетную запись Windows 2008 для каждого входа в систему.

Если вы хотите использовать собственное хранилище (SQL Server, Служба членства), вам нужно будет написать свой собственный модуль базовой аутентификации:

Разработка модуля с использованием .NET

В диспетчере IIS в Sites-> Yoursite-> Authentication вы можете отключить «Anonymous Authentication» и включить «Basic Authentication» или любой HTTP 401 Challenge, подходящий для вашего веб-сайта.