16.06.2010, 20:22 | #1 |
Участник
|
Аутентификация в Windows Forms
Есть кастомное приложение на Windows Forms. Оно вызывает кастомный web-сервис, который, используя библиотеки CRM SDK что-то пишет в CRM.
И сервер CRM, и клиент, на котором установлено кастомное приложение находятся в домене. То-есть пользователь с клиентского компа свободно заходит в CRM без ввода логина/пароля. В программе при вызове сервиса прописана строка Код: service.UseDafaultCredentials = true; И собственно вопрос - что делать чтобы передать credentials клиента веб-сервису? |
|
16.06.2010, 20:46 | #2 |
Moderator
|
Нигде в SDK не встречал такой конструкции, если честно. Обычно используется что-то вроде:
Код: service.Credentials = System.Net.CredentialCache.DefaultCredentials;
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 16.06.2010 в 20:49. |
|
16.06.2010, 21:21 | #3 |
Чайный пьяница
|
Цитата:
Сообщение от Артем Enot Грунин
Нигде в SDK не встречал такой конструкции, если честно. Обычно используется что-то вроде:
Код: service.Credentials = System.Net.CredentialCache.DefaultCredentials; Цитата:
Сообщение от ZooY
Есть кастомное приложение на Windows Forms. Оно вызывает кастомный web-сервис, который, используя библиотеки CRM SDK что-то пишет в CRM.
И сервер CRM, и клиент, на котором установлено кастомное приложение находятся в домене. То-есть пользователь с клиентского компа свободно заходит в CRM без ввода логина/пароля. В программе при вызове сервиса прописана строка Код: service.UseDafaultCredentials = true; И собственно вопрос - что делать чтобы передать credentials клиента веб-сервису?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
16.06.2010, 22:20 | #4 |
Участник
|
Да работа с сервисом собственно бональна, если есть логин/пароль то они подставляются для авторизации (это для тестов), если нету - то DefaultCredentials.
Адрес сервиса прописан в конфигурационном файле. Логина и пароля нет, соответственно должна идти авторизация через DefaultCredentials. Код: ... using(var service = new Service()) { var username = ConfigurationManager.AppSettings["UserName"]; if(!string.IsNullOrEmpty(username)) { var password = ConfigurationManager.AppSettings["Password"]; service.Credentials = new NetworkCredential(username, password); } else { service.UseDefaultCredentials = true; } var response = service.Import(str); ... } |
|
17.06.2010, 04:01 | #5 |
Чайный пьяница
|
Цитата:
Сообщение от ZooY
Да работа с сервисом собственно бональна, если есть логин/пароль то они подставляются для авторизации (это для тестов), если нету - то DefaultCredentials.
Адрес сервиса прописан в конфигурационном файле. Логина и пароля нет, соответственно должна идти авторизация через DefaultCredentials. Код: ... using(var service = new Service()) { var username = ConfigurationManager.AppSettings["UserName"]; if(!string.IsNullOrEmpty(username)) { var password = ConfigurationManager.AppSettings["Password"]; service.Credentials = new NetworkCredential(username, password); } else { service.UseDefaultCredentials = true; } var response = service.Import(str); ... } 1. Код сервиса. 2. Web.Cofig сервиса. 3. Полный код приложения.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
17.06.2010, 06:29 | #6 |
CRM
|
Иногда помогает расположение урлов в списке trusted сайтов в ИЕ (в те, где залогирование идет автоматом).
Так же под вопросом как настроен Ваш веб-сервис, какую авторизацию ему подавать надо. И еще. У меня нормально не получилось прокидывать криденшионс: приложение - мой веб-сервис - CRM. Поэтому в конфигах использовал прописанные учетки.
__________________
MS CRM 3.0/4.0 Sharepoint 2003, MOSS 2007/2010 |
|