Получить идентификатор пользователя, который в настоящее время вошел в MS Dynamics CRM 2011 Online

Есть ли способ получить / идентифицировать пользователя, который в настоящее время вошел в MS Dynamics CRM 2011 Online?

То, что я пытаюсь сделать здесь, похоже на вход в facebook, за исключением MS Dynamics. Мне нужно как-то определить, вошел ли пользователь на сайт MS Dynamics. Если пользователь вошел на веб-сайт MS Dynamics, мне придется получить UserId и аутентифицировать его с помощью Kentico CMS.

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

Любая помощь была бы замечательной!


person Lucas Lim    schedule 27.01.2014    source источник


Ответы (2)


Вы можете получить идентификатор пользователя из контекста. Еще раз проверьте эту статью.

person Andrew Butenko    schedule 28.01.2014
comment
Привет, Андрей, это здорово! Но мне нужно получить этот идентификатор пользователя и использовать его внутри кода global.asax. Но поскольку клиентский скрипт запускается после серверного скрипта, я не думаю, что это решение сработает. Если я не смогу найти способ получить идентификатор пользователя из файла global.asax - person Lucas Lim; 29.01.2014

Вы можете получить идентификатор пользователя, вошедшего в систему, с помощью

 WhoAmIRequest request = new WhoAmIRequest();
            WhoAmIResponse response = (WhoAmIResponse)Service.Execute(request);
            if (response != null)
                return response.UserId;

Вы можете создать службу по умолчанию, например:

ClientCredentials Credentials = new ClientCredentials();
Credentials.Windows.ClientCredential = CredentialCache.DefaultNetworkCredentials;
//This URL needs to be updated to match the servername and Organization for the environment.


Uri OrganizationUri = new Uri("http://crm/XRMServices/2011/Organization.svc");

Uri HomeRealmUri = null;

//OrganizationServiceProxy serviceProxy; 

OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(OrganizationUri, HomeRealmUri, Credentials, null)

IOrganizationService service = (IOrganizationService)serviceProxy;
person Dot_NET Pro    schedule 28.01.2014
comment
Привет, Dot_NET Junior, я пробовал это, но при создании службы мне требуется ввести учетные данные. Проблема в том, что я не знаю, каковы учетные данные, поэтому мне нужно найти способ обнаружить файл cookie, созданный Dynamics CRM 2011. Я все еще новичок в этом, поэтому, пожалуйста, простите меня, если я ошибаюсь . - person Lucas Lim; 28.01.2014
comment
@LucasLim Привет, да, вы правы ,,, Итак, для создания службы вы используете учетные данные по умолчанию зарегистрированного пользователя ... - person Dot_NET Pro; 29.01.2014