如何确定身份验证类型?

时间:2013-03-01 13:39:26

标签: 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确定身份验证类型?

1 个答案:

答案 0 :(得分:3)

我在这里放了一个小样本。测试 LiveID ActiveDirectory

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

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