N
*null
Здравствуйте!
Есть IIS 5.1 на WinXP SP2 на котором работает Web Service. К узлу разрешен анонимный доступ, используется администраторская учетная запись.
Web Service в работе использует DLL-ку, которая вызывает некоторые крипто-функции Windows. Эта библиотека успешно используется в связки с WindowsApplication, а вот с WebService проблемы.
Так, например вызов CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, CERT_SYSTEM_STORE_LOCAL_MACHINE, "MY") возвращает ошибку ERROR_ACCESS_DENIED - «Access is denied».
При этом WindowsApplication, запущенное этим же пользователем (под которым узел на анониме работает) и нормально вызывает функции DLL-ки использующие CertOpenStore, никаких ошибок не возникает.
Если запускаю WebService из под встроенного в Visual Web Developer 2005 EE, тоже все прекрасно работает.
С чем может быть такое связано? Подозреваю, что под IIS при анонимном доступе WebService все же исполняется не совсем под заданной учетной записью, или накладываются какие то ограничения. Тот же Context.User.Identity.Name при этом пуст.
Как такое можно побороть?
Есть IIS 5.1 на WinXP SP2 на котором работает Web Service. К узлу разрешен анонимный доступ, используется администраторская учетная запись.
Web Service в работе использует DLL-ку, которая вызывает некоторые крипто-функции Windows. Эта библиотека успешно используется в связки с WindowsApplication, а вот с WebService проблемы.
Так, например вызов CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, 0, CERT_SYSTEM_STORE_LOCAL_MACHINE, "MY") возвращает ошибку ERROR_ACCESS_DENIED - «Access is denied».
При этом WindowsApplication, запущенное этим же пользователем (под которым узел на анониме работает) и нормально вызывает функции DLL-ки использующие CertOpenStore, никаких ошибок не возникает.
Если запускаю WebService из под встроенного в Visual Web Developer 2005 EE, тоже все прекрасно работает.
С чем может быть такое связано? Подозреваю, что под IIS при анонимном доступе WebService все же исполняется не совсем под заданной учетной записью, или накладываются какие то ограничения. Тот же Context.User.Identity.Name при этом пуст.
Как такое можно побороть?