c# - 如何确定认证类型?

标签 c# dynamics-crm-2011 dynamics-crm-online service-discovery dynamics-crm-2013

我已经创建了不同的身份验证方法(一种用于在线,一种用于内部部署)。现在,我让用户选择要使用的方法(然后提供组织服务的 URL 和凭据)。

我想使该过程自动化,突然想到有关身份验证类型的信息应该在发现服务中。也是这样。我可以使用以下代码获取它。

DiscoveryServiceProxy discovery = new DiscoveryServiceProxy(
  logOnInformation.Organization,
  logOnInformation.HomeRealm,
  logOnInformation.ClientCredentials,
  logOnInformation.DeviceCredentials);

Console.Write(discovery.ServiceManagement.AuthenticationType`);

我的问题是,为了创建发现服务代理,我需要指定设备凭据,这是使用我试图确定其类型的身份验证过程获得的。这是第 22 条军规...

如何仅根据发现或组织服务的 URL 来确定身份验证类型?

最佳答案

我只是在这里放了一个小样本。针对 LiveIDActiveDirectory 进行了测试。

IServiceManagement<IOrganizationService> organizationServiceManagement 
  = ServiceConfigurationFactory.CreateManagement<IOrganizationService>(
    new Uri("http ... Organization.svc"));
AuthenticationProviderType authenticationProvierType 
  = organizationServiceManagement.AuthenticationType;

Console.WriteLine(authenticationProvierType);
Console.ReadKey();

关于c# - 如何确定认证类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15159147/

相关文章:

c# - 如何在子窗体处于事件状态时禁用父窗体?

c# - 具有联接的 CRM LINQ 查询中的异常。第二个表中的属性不存在

dynamics-crm-2011 - 在 CRM 2011 中保存表单后调用 javascript 函数

dynamics-crm - 如何将非托管解决方案转换为托管解决方案?

c# - 在给定时间后等待并终止线程而不阻塞.NET 3.5

c# - 如何从 .NET 中的 Windows 服务获取当前记录的用户名?

c# - 如何为 Android 构建普通的 Mono?

javascript - crm 2011 无论如何都会公开字段描述文本

plugins - System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft. Xrm.Client

dynamics-crm-2011 - 如何在 CRM 2011 插件中阅读电子邮件正文