Проверка подлинности Windows с помощью Excel vsto - PullRequest
2 голосов
/ 15 сентября 2011

У меня проблема с интегрированной аутентификацией 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...