Я пытаюсь защитить сайт MVC.NET на IIS7.5 с помощью базовой проверки подлинности. Я бы предпочел не настраивать для этого всю учетную запись Windows, так как я не хочу, чтобы у пользователя были такие привилегии. Я также не хочу внедрять решение для аутентификации на основе данных. Мне просто нужен быстрый способ создать пользователя, который может получить доступ только к веб-сайту и ни к чему другому.
Есть ли способ сделать это, сохранив учетные данные в файле web.config? Или использовать пользователей под управлением IIS? Управляемые пользователи кажутся излишними, поскольку я не хочу, чтобы пользователь действительно мог управлять сайтом, просто получил доступ для его просмотра.
Если я правильно помню, вы можете хранить учетные данные для пользователей непосредственно в файле web.config, но только при использовании в сочетании с поставщиком проверки подлинности форм.
На самом деле не рекомендуется хранить такие учетные данные, особенно если вы можете легко настроить поставщик членства ASP.NET по умолчанию для использования локального экземпляра SQLCE.
<authentication mode="Forms">
<forms name=".ASPNETAUTH">
<credentials passwordFormat="Clear">
<user name="test" password="test"/>
</credentials>
</forms>
</authentication>
Большинство встроенных методов проверки подлинности IIS так или иначе используют учетные записи Windows, поэтому, если вы не хотите выполнять для этого какую-либо серьезную работу, вам придется использовать их - вы захотите создать учетные записи, которые разумно заблокированы.
Обычно достаточно:
При желании вы можете добавить рекурсивные ACE запрета полного управления для этой группы на диски, кусты реестра и любые другие ресурсы, управляемые DACL - SetACL должен иметь возможность делать большинство из них (см. http://helgeklein.com/).
Если вам действительно нужно использовать настраиваемый список пользователей, тогда (как сказал @BrentPabst) аутентификация с помощью форм - единственный реальный способ (см. http://msdn.microsoft.com/en-us/library/da0adyye.aspx), но вам нужно будет создать страницу входа в ASP.NET.
Я не пробовал аутентификацию диспетчера IIS, но, насколько я могу судить, она применяется только к FTP-сайтам, а не к веб-сайтам.
Дж.