1

我们必须使用 API 获取与 Web 应用程序及其身份声明编码类型关联的所有声明提供程序。

例如:

如果windows认证的身份声明是用户名,用户名是一个字符串,那么我们应该得到“i:0#.w”。

如果表单身份验证的身份声明是电子邮件并且提供者名称是“fba”,那么我们应该得到“i:0!.f|fba|”。

下面的链接向我们展示了获取与 Web 应用程序关联的所有声明提供者,但是我们如何获取每个提供者的身份声明编码类型?

http://msdn.microsoft.com/en-us/library/gg650432(v=office.14).aspx#SP_WCP_Tip3

using (SPSite theSite = new SPSite("http://someContosoUrl"))
{

   // Get the web application.

    SPWebApplication wa = theSite.WebApplication; 

    // Get the zone for the site.

    SPUrlZone theZone = theSite.Zone;

    // Get the settings that are associated with the zone.

    SPIisSettings theSettings = wa.GetIisSettingsWithFallback(theZone);

    // Get the list of authentication providers that are associated with the zone.

    foreach (SPAuthenticationProvider prov in 

        theSettings.ClaimsAuthenticationProviders)

    {

   // Need to get the identity claims encoding type using the SPAuthenticationProvider

    }
}

Windows 身份验证的身份声明编码类型始终是 i.0#.w 还是身份声明始终是用户名?

感谢和问候,

卡莱。

4

0 回答 0