Что такое олицетворение в ASP.NET? - PullRequest
11 голосов
/ 01 апреля 2010

Пожалуйста, объясните олицетворение для нетехнических пользователей. Затем объясните это в контексте ASP.NET. Является ли олицетворение добром или злом? Используем ли мы его в случае аутентификации на основе форм?

Ответы [ 3 ]

10 голосов
/ 01 апреля 2010

Вы должны проверить описание Кита Брауна олицетворение . Это действительно концепция Windows.

Если у вас есть приложение, использующее проверку подлинности с помощью форм (FA), процесс IIS выполняется под учетными данными определенной пользовательской настройки в IIS.

Пример: если у вас есть пользователь по имени Боб, вошедший в систему с настройками FA и IIS для работы в качестве сетевой службы. Боб получает доступ к странице, которая выполняет вызов веб-службы на другой компьютер, другой компьютер увидит пользователя IIS, а не Боба. Вы можете использовать олицетворение, чтобы разрешить Бобу получать доступ к веб-службе как настоящий пользователь Windows, а не как сетевой сервис.

Олицетворение не зло, но им можно злоупотреблять. Вы действительно должны понять влияние на вашу общую модель безопасности. Это также то, что создает много работы для отладчика разработчика. Это особенно актуально, если у вас нет прав администратора для ресурса (например, веб-службы), к которому вы пытаетесь получить доступ.

9 голосов
/ 01 апреля 2010

Веб-приложения запускаются через веб-сервер. Этот веб-сервер работает как пользователь с другими правами доступа, чем вы. Олицетворение позволяет приложению работать как вы (или любой другой пользователь с другими привилегиями на cmoputer), как если бы вы вошли в систему на компьютере, на котором оно запущено.

Это действительно делает вещи довольно хорошими. Позволяет другим способом предоставить / ограничить доступ к защищенным файлам на компьютере.

И да, вы можете применить его с помощью проверки подлинности с помощью форм (но вам это не нужно).

2 голосов
/ 19 мая 2014

Приложения ASP.NET могут выполняться с идентификатором Windows (учетной записью пользователя) пользователя, выполняющего запрос. Олицетворение обычно используется в приложениях, которые используют Microsoft Internet Information Services (IIS) для аутентификации пользователя.

Олицетворение ASP.NET по умолчанию отключено. Если олицетворение включено для приложения ASP.NET, оно запускается в контексте идентификатора, маркер доступа которого IIS передает ASP.NET. Этим токеном может быть либо токен аутентифицированного пользователя, например токен для вошедшего в систему пользователя Windows, либо токен, который IIS предоставляет анонимным пользователям (обычно это идентификатор IUSR_MACHINENAME).

...