Вопрос по iis-7, c#, web-config, asp.net, impersonation – Ошибка с кодом олицетворения Windows в файле webconfig

2

У меня есть следующий раздел, объявленный в файле webconfig, чтобы разрешить олицетворение, я открыл общий доступ к папке для общего доступа в сети на другом компьютере

<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Windows"/>
    <identity impersonate="true" userName="******" password="*****"/>

.........
..........

когда я запускаю приложение, оно выдает ошибку, говоря

Ошибка конфигурации Описание: во время обработки файла конфигурации, необходимого для обслуживания этого запроса, произошла ошибка. Пожалуйста, просмотрите подробности конкретной ошибки ниже и измените файл конфигурации соответствующим образом.

Сообщение об ошибке Parser: не удалось создать токен пользователя Windows из учетных данных, указанных в файле конфигурации. Ошибка операционной системы 'Ошибка входа в систему: неизвестное имя пользователя или неверный пароль.

Страница aspx: у меня есть пример страницы aspx, где у меня есть следующий код для перемещения файла с локального компьютера на другой компьютер в сети, который проходит через олицетворение

protected void Page_Load(object sender, EventArgs e)
 {
 File.Copy(@"C:\temp\CloudURL.txt", @"\\RemoteMachine\D$\temp\CloudURL.txt", true);
}    

Ваш Ответ

2   ответа
5

что я сделал, чтобы решить эту проблему. Надеюсь, это кому-нибудь поможет.

Я использую Windows 8.1 и IIS 7, и у меня было то же сообщение, что и у автора.

Вот шаги, которые я выполнил, чтобы решить проблему:

1) Если он еще не установлен в Windows, установите пароль для учетной записи, чтобы он совпадал с информацией, содержащейся в файле web.config.

Зайдите в настройки ПК -> Учетные записи -> Вход в систему и установите свой пароль

2) Добавить проверку подлинности Windows в IIS Windows

а) Щелкните правой кнопкой мыши логотип Windows в левом нижнем углу

б) Нажмите «Панель управления»

в) Нажмите «Программы»

d) Нажмите «Включить или отключить функции Windows».

e) В разделе «Информационные службы Интернета» -> «Службы всемирной паутины» -> «Безопасность» установите флажок «Аутентификация Windows».

3) перезагрузите компьютер

4) В диспетчере IIS в группе «IIS» нажмите «Аутентификация»

5) Убедитесь, что статус «Олицетворение ASP.Net» и «Аутентификация Windows» включены

6) Перезагрузите компьютер и перезапустите решение

Также убедитесь, что ваша строка олицетворения web.config содержит домен, например, так:

<identity impersonate="true" userName="Domain\user" password="password" />

4

потому что вы законно заблокировали имя пользователя, но если вы не полностью объявляете имя пользователя с именем домена, то произойдет сбой с этой ошибкой.

Вы используете доменное имя?

<identity impersonate="true" userName="domain\user" password="password" />

Все остальное в вашей настройке кажется правильным.

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

echo %userdomain%
Это действительно зависит от конфигурации вашей сети, если вы присоединились к домену или нет. Попробуйте открыть окно командной строки и ввести «echo% userdomain%» без кавычек. Это даст вам имя вашего домена. sngregory
допустим, мое имя пользователя - admin, что я должен указать в столбце имени домена mahesh
Я пытался с userName = "admin-PC \ admin", но даже тогда я получаю некоторую ошибку, я запутался, если я внесу какие-либо изменения в IIS на удаленной машине mahesh

Похожие вопросы