какой пользователь запускает мой пользователь asp.net? - PullRequest
6 голосов
/ 17 сентября 2010

Я всегда читал, что пользователь, который вы указали в веб-сайте / виртуальном каталоге IIS, - это пользователь, который запускает приложение (анонимный пользователь)

Но в пуле приложений я также могу установить пользователя (модель процесса, идентификация)

В чем разница между ними, и какой из них будет нужен доступ, если я прочитаю файл?

EDIT:

награда за этот вопрос ', но если я использую' анонимную аутентификацию ', будет ли когда-либо использоваться пользователь, которого я выберу в "анонимной идентификации пользователя"? - 'оставлен как комментарий

Ответы [ 3 ]

4 голосов
/ 17 сентября 2010

Оформить заказ этот пост .Цитата:

Два аккаунта это разные вещи.Подумайте о личности сайта, представляющего пользователя сайта.Если вы создаете новый веб-сайт, эта учетная запись является анонимной учетной записью IIS.Если вы отключите «Анонимную аутентификацию», ваши пользователи должны будут проходить аутентификацию на веб-сайте (на сайте домена интрасети / Windows это может быть косвенным использованием сетевых учетных данных.)

Идентификатор пула приложений - необходимая учетная запись Windowsдля запуска ваших сборок.Обычно это учетная запись «Сетевой сервис», которая является наименее привилегированной учетной записью с ограниченными правами и разрешениями пользователя.У него есть сетевые учетные данные.Это означает, что вы можете использовать его для аутентификации на сетевых ресурсах в домене.Вы также можете использовать его для доступа к базе данных SQL Server со встроенной защитой.

Например, если приложение ASP.NET должно выполнять запись в папку, необходимо предоставить разрешение учетной записи пула приложений, а нена счет веб-сайта.Дополнительную информацию об удостоверениях пула приложений читайте здесь.

2 голосов
/ 28 сентября 2010

Думайте о идентичности сайта как о правиле, определяющем, кто может получить доступ к сайту. Если вы указываете анонимную учетную запись для использования, эта учетная запись должна иметь доступ к сайту. Если анонимный доступ отключен, учетные данные пользователя должны иметь доступ к папке.

идентификатор пула приложений определяет, что приложение может делать. Рабочий процесс пула приложений будет выполняться с использованием идентификатора пула приложений; этой учетной записи должен быть предоставлен доступ к любым ресурсам (SQL Server, файловым ресурсам и т. д.), к которым приложению потребуется доступ.

Чтобы ответить на ваш вопрос: да, используется анонимный аккаунт . Подумайте о сценарии, в котором вы размещаете сотню веб-сайтов и не хотите, чтобы файлы одного клиента имели доступ к файлам другого. Вы можете назначить отдельный анонимный доступ каждому клиенту. Анонимная учетная запись каждого сайта позволяет IIS получать доступ только к файлам, относящимся к этому конкретному сайту (при условии, что вы правильно настроили доступ этой учетной записи).

0 голосов
/ 05 октября 2010

@ Мишель

, если на вашем сайте настроена учетная запись Anon Access (виртуальный каталог)

И у вас есть

<system.web>
   <identity impersonate="true" />
</system.web> 

в вашем web.config,это будет использовать эту идентификацию.

, если у вас есть часть кода, в которой вы можете установить учетные данные

CredentialCache.DefaultCredentials

это будет указывать на учетную запись Anon, еслиХотите проверить, какого пользователя вы используете, попробуйте

Thread.CurrentPrincipal.Identity.Name.ToString()

. Посмотрите этот пост для получения дополнительной информации
http://blogs.iis.net/sakyad/archive/2008/11/19/process-and-thread-identity-in-asp-net-a-practical-approach.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...