У меня проблема с интегрированной аутентификацией Windows в Excel. У меня есть два сервера IIS 5, на которых размещен устаревший код (макрос), и IIS 6, на котором размещен новый код. На клиенте, чтобы избежать многократного ввода учетных данных для каждого сервера, я хочу, чтобы пользователь проходил аутентификацию только на IIS 5. В качестве первого шага я аутентифицирую пользователя на IIS 5, используя HttpWebRequest вместе с com CredUIPromptForCredentials. Но даже если этот шаг аутентифицирует пользователя в IIS 5, унаследованный код (макрос) при попытке доступа к IIS 5 снова отображает диалоговое окно запроса полномочий.
вот как я создаю CredUIPromptForCredentials
CREDUI_FLAGS flags = CREDUI_FLAGS.ALWAYS_SHOW_UI | CREDUI_FLAGS.GENERIC_CREDENTIALS;
CredUIReturnCodes returnCode = CredUIPromptForCredentials(ref credUI, Application.ProductName, IntPtr.Zero, 0, userID, 100, userPassword, 100, ref save, flags);
объект запроса
var authCredCache = new CredentialCache();
authCredCache.Add(new Uri(authServer), "Negotiate",
new NetworkCredential(user, pwd, domain));
httpWebRequest.Credentials = authCredCache;