Ошибка с кодом олицетворения Windows в файле webconfig

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

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

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

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

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

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

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

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

person mahesh    schedule 18.02.2012    source источник


Ответы (2)


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

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

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

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

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

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

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

б) Щелкните "Панель управления".

c) Щелкните "Программы".

г) Нажмите "Включение или отключение компонентов Windows".

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

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

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

5) Убедитесь, что статусы "ASP.Net Impersonation" и "Windows Authentication" включены.

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

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

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

person codingismylife    schedule 12.03.2014

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

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

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

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

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

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