我已经创建了不同的身份验证方法(一种用于在线,一种用于内部部署)。现在,我让用户选择要使用的方法(然后提供组织服务的 URL 和凭据)。
我想使该过程自动化,突然想到有关身份验证类型的信息应该在发现服务中。也是这样。我可以使用以下代码获取它。
DiscoveryServiceProxy discovery = new DiscoveryServiceProxy(
logOnInformation.Organization,
logOnInformation.HomeRealm,
logOnInformation.ClientCredentials,
logOnInformation.DeviceCredentials);
Console.Write(discovery.ServiceManagement.AuthenticationType`);
我的问题是,为了创建发现服务代理,我需要指定设备凭据,这是使用我试图确定其类型的身份验证过程获得的。这是第 22 条军规...
如何仅根据发现或组织服务的 URL 来确定身份验证类型?
最佳答案
我只是在这里放了一个小样本。针对 LiveID 和 ActiveDirectory 进行了测试。
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/