ДонНУ, кафедра КТ, проф.В.К.Толстых Технологии разработки Internet- приложений ASP.NET приложения: Безопасность – аутентификация Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета
Аутентификация в IIS 7 Аутентификация задает вопрос: кто идет? В конечном итоге она определяет, кто работает с вашим приложением на другой стороне. Большинство web-сайтов работают в режиме анонимного доступа. Они содержат информацию, которую могут просматривать все желающие, и поэтому не проводят аутентификацию пользователей. По умолчанию Web-приложения ASP.NET предоставляют анонимный доступ к серверным ресурсам посредством учетной записи анонимного пользователя – IUSR (для IIS 5, 6 – это IUSR _ имя компьютера). При установке IIS 7, кроме анонимного пользователя IUSR, также создаётся группа IIS_IUSRS, которая обеспечивает минимальные права для запуска рабочего процесса. IIS 7.0 автоматически зачисляет любые учетные записи в IIS_IUSRS, когда они назначаются в качестве удостоверения для пула приложений. ASP.NET использует олицетворение, когда необходимо выполнить приложение пользователя ASP.NET в контексте безопасности, отличном от контекста по умолчанию для приложения ASP.NET.олицетворение Существует два типа пользователей: 1.Пользователь Windows – является пользователем Windows на сервере. Если необходимо использовать данного пользователя, убедитесь, что на веб-сервере или в домене, с которым связан сервер, создана необходимая учетная запись Windows. 2.Пользователь диспетчера IIS – создается и используется службой IIS и не может быть распознан средствами Windows или другими приложениями на сервере.
Чтобы предоставить пользователю разрешение на подключение к узлу или приложению, необходимо выбрать узел или приложение и открыть окно функции Разрешения диспетчера IIS, а затем выполнить настройку пользователей, которым разрешено устанавливать подключение к данному узлу или приложению.
Аутентификация Windows-пользователей Для разграничения доступа к содержимому папок Windows-пользователей можно применять Web.config файлы, находящиеся в этих папках: - символ "*" означает всех пользователей В данном случае разрешен доступ для пользователя DENIS и запрещен доступ для всех остальных. Вместо имени пользователя может быть и название роли, к которой принадлежат пользователи - администраторы, менеджеры…
... продолжение Если мы хотим защитить от неаутентифицированных пользователей папку полностью, то нужно разместить в ней файл Web.config с содержанием: - cимвол "?" означает анонимных пользователей Если же мы хотим защитить только один файл (например, для подтверждения заказа в Internet - магазине), то в Web.config из корневой папки нужно добавить строки: Приложение извлекает данные пользователей с помощью свойства Identity класса User. Это свойство возвращает объект, содержащий имя пользователя и роль. Здесь bool authenticated = User.Identity.IsAuthenticated; string name = User.Identity.Name; bool admin = User.IsInRole("Admins");
Аутентификация при помощи форм 1.Forms-аутентификацияForms-аутентификация 2.MSDNMSDN 3.Основы ASP.NET 2.0. Учебное пособие. ГарякаОсновы ASP.NET 2.0. Учебное пособие. Гаряка