Аутентификация — процесс определения личности пользователя и обеспечения гарантий этой проверки. Процесс аутентификации аналогичен регистрации участников конференции. Во-первых, вы предъявляете некоторое свидетельство, доказывающее вашу личность (вроде паспорта или водительских прав). Во-вторых, как только ваша личность проверена, на основе этой информации, вы получаете личный значок (бандик) участника конференции, или маркер, который постоянно носите с собой на протяжении всей конференции. Любой, кто вас встретит на конференции, сможет легко определить вашу личность, взглянув на этот значок, который обычно содержит базовую идентифицирующую информацию, такую как ваше имя и фамилия. Весь этот процесс является примером аутентификации. Как только ваша личность установлена, ваш маркер подтверждает ее, так что куда бы вы ни пошли в пределах конкретной области, ваша личность будет известна.
В приложениях ASP.NET аутентификация реализуется одной из четырех возможных систем аутентификации:
В каждом случае пользователь предъявляет некоторое удостоверение при регистрации в системе. Личность пользователя отслеживается разными способами, в зависимости от типа аутентификации. Например, операционная система Windows использует 96-битное число, называемое SID (security identifier — идентификатор безопасности) для идентификации каждого входящего пользователя. В аутентификации форм ASP.NET (которая подробно описывается в главе 20) пользователю выдается аутентифицирующий мандат формы, представляющий собой комбинацию значений, которые шифруются и помещаются в cookie-набор.
Любая из систем аутентификации позволяет приложению идентифицировать пользователя, присылающего запрос. Это хорошо работает для персонализации и пользовательской настройки, потому что вы можете использовать идентифицирующую информацию для выдачи специфичных для пользователя сообщений на Web-странице, изменять внешний вид Web-сайта, добавлять специальное содержимое на базе предпочтений конкретного пользователя и тому подобное. Однако аутентификации самой по себе недостаточно для ограничения задач, которые разрешено выполнять пользователю на базе его личности. Для этого нужна авторизация, о которой мы поговорим ниже. Однако прежде чем перейти к авторизации, следует взглянуть на такую вещь, как заимствование прав (impersonation), которая тесно связана с аутентификацией.
Заимствование прав — процесс выполнения кода в контексте (или от имени) другого пользователя. По умолчанию код ASP.NET исполняется от имени фиксированной, специфичной для конкретной машины, пользовательской учетной записи (обычно ASPNET на IIS 5.х или Network Service на IIS 6.0). Чтобы выполнить код, используя другую личность, можно воспользоваться встроенными в ASP.NET возможностями заимствования прав.
предыдущая следующая страница вначало главы оглавление
805