У меня есть 2 веб-сервера с балансировкой нагрузки, пытающиеся получить доступ к изображениям с третьего сервера с помощью сквозной аутентификации.
Серверы находятся в рабочей группе, так как мой хост не поддерживает домены.
Независимо от того, какие разрешения для файла / IIS я установил, веб-серверы не могут получить доступ к изображениям.
Какой пользователь работает на анонимном веб-сайте asp.net, как в IIS 6?
Пользователь IUSR_Имя компьютера, который входит в группу «Гость». (подробнее здесь)
Если вы создадите нового пользователя с одинаковыми именем пользователя и паролем во всех трех системах и установите его в качестве идентификатора для своего приложения, вы сможете без проблем получить доступ к файлам на внутреннем сервере.
По умолчанию большинство функций ASP.NET выполняется под удостоверением пула приложений, которым по умолчанию является СЕТЕВАЯ СЛУЖБА. Это означает, что учетная запись computername $ видна по сети.
Некоторые вещи запускаются как анонимная учетная запись пользователя веб-сайта, то есть IUSR_computername, и если вы установите impersonation = "true", то большинство вещей будет работать как IUSR_computername.
Если вы можете разместить свой сайт в выделенном пуле приложений, я рекомендую создать специального пользователя для вашего пула приложений, используя сквозную аутентификацию, как вы предложили, с тем же пользователем / паролем. Пользователь должен быть добавлен в группу IIS_WPG на каждом сервере. Затем убедитесь, что для олицетворения установлено значение false или не установлено (по умолчанию false). Затем этот пользователь будет использоваться для доступа к сети.
Возможно, вы по-прежнему будете получать ошибки Code Access Security (CAS). Если это так, вам необходимо предоставить доступ к UNC-пути с помощью инструмента caspool.