ASP.NET приложения

advertisement
Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных
технологий физического факультета Донецкого национального университета
Технологии
разработки Internetприложений
ASP.NET приложения:
Безопасность – аутентификация
ДонНУ, кафедра КТ,
проф.В.К.Толстых
Аутентификация в IIS 7
Аутентификация задает вопрос: кто идет? В конечном итоге она определяет, кто работает с вашим
приложением на другой стороне.
Большинство web-сайтов работают в режиме анонимного доступа. Они содержат информацию, которую могут
просматривать все желающие, и поэтому не проводят аутентификацию пользователей.
По умолчанию Web-приложения ASP.NET предоставляют анонимный доступ к серверным ресурсам
посредством учетной записи анонимного пользователя – IUSR (для IIS 5, 6 – это
IUSR _ имя компьютера). При установке IIS 7, кроме анонимного пользователя IUSR, также создаётся группа
IIS_IUSRS, которая обеспечивает минимальные права для запуска рабочего процесса. IIS 7 автоматически
зачисляет любые учетные записи в IIS_IUSRS, когда они назначаются в качестве удостоверения для пула
приложений.
ASP.NET использует олицетворение, когда необходимо выполнить приложение пользователя ASP.NET в
контексте безопасности, отличном от контекста по умолчанию для приложения ASP.NET.
Существует два типа пользователей:
1.
Пользователь Windows – является пользователем Windows на сервере. Если необходимо
использовать данного пользователя, убедитесь, что на веб-сервере или в домене, с которым
связан сервер, создана необходимая учетная запись Windows.
2.
Пользователь диспетчера IIS – создается и используется службой IIS и не может быть
распознан средствами Windows или другими приложениями на сервере.
Чтобы предоставить пользователю
разрешение на подключение к узлу
или приложению, необходимо
выбрать узел или приложение и
открыть окно функции Разрешения
диспетчера IIS, а затем выполнить
настройку пользователей, которым
разрешено устанавливать
подключение к данному узлу или
приложению.
Аутентификация пользователей
Для разграничения доступа к содержимому папок Windows-пользователей можно применять
Web.config файлы, находящиеся в этих папках:
<configuration>
<system.web>
<authorization>
<allow users="COMPUTER\DENIS" />
<deny users="*" />
- символ "*" означает всех пользователей
</authorization>
</system.web>
</configuration>
В данном случае разрешен доступ для пользователя DENIS и запрещен доступ для всех остальных.
Вместо имени пользователя может быть и название роли, к которой принадлежат пользователи
- администраторы, менеджеры…
<configuration>
<system.web>
<authorization>
<allow roles="COMPUTER\ADMINS" />
<deny users="*" />
</authorization>
</system.web>
</configuration>
... продолжение
Если мы хотим защитить от неаутентифицированных пользователей папку полностью, то нужно
разместить в ней файл Web.config с содержанием:
<configuration>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
- cимвол "?" означает анонимных пользователей
Если же мы хотим защитить только один файл (например, для подтверждения заказа в Internet магазине), то в Web.config из корневой папки нужно добавить строки:
<location path="Checkout.aspx">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
Приложение извлекает данные пользователей с помощью свойства Identity класса User. Это
свойство возвращает объект, содержащий имя пользователя и роль. Здесь
bool authenticated = User.Identity.IsAuthenticated;
string name = User.Identity.Name;
bool admin = User.IsInRole("Admins");
Аутентификация при помощи форм
ASP.NET
При проверке подлинности с помощью форм используется перенаправление на стороне
клиента, чтобы направить непроверенных пользователей к HTML-форме, в которую они могут
ввести свои учетные данные, обычно в виде имени пользователя и пароля. После проверки
учетных данных пользователи автоматически перенаправляются на страницу, которую они
первоначально запросили. Реализуется при помощи класса FormsAuthentication из
пространства имен System.Web.Security.
1.
MSDN
2.
Основы ASP.NET 2.0. Учебное пособие. Гаряка
Download