C# 如何以编程方式获取sharepoint应用程序登录页面URL

C# 如何以编程方式获取sharepoint应用程序登录页面URL,c#,sharepoint,sharepoint-2010,sharepoint-2007,sharepoint-2013,C#,Sharepoint,Sharepoint 2010,Sharepoint 2007,Sharepoint 2013,在SharePoint应用程序中,如果启用了基于声明的身份验证类型,则需要URL将用户重定向到登录页面 我想获取设置为默认或自定义的登录页面,如果是自定义的,我想以编程方式获取“自定义登录页面”URL。阅读此内容,解释其工作原理: 如果在声明模式下使用Windows身份验证,则不必提供URL。默认登录页面为_login/default.aspx如果使用自定义登录页面,它将列在“管理中心”中 只有在使用受信任的身份提供程序时,才需要用于将用户重定向到登录页面的URL。在这种情况下,您可以通过将标识

在SharePoint应用程序中,如果启用了基于声明的身份验证类型,则需要URL将用户重定向到登录页面


我想获取设置为默认或自定义的登录页面,如果是自定义的,我想以编程方式获取“自定义登录页面”URL。

阅读此内容,解释其工作原理:

如果在声明模式下使用Windows身份验证,则不必提供URL。默认登录页面为_login/default.aspx如果使用自定义登录页面,它将列在“管理中心”中

只有在使用受信任的身份提供程序时,才需要用于将用户重定向到登录页面的URL。在这种情况下,您可以通过将标识提供程序设置为变量,例如$TIP=get-SPTrustedIdentityTokenIssuer-yourrustedIdentityProviderName,然后运行$TIP.ProviderUri来获取登录页面


这将显示被重定向到以进行登录的主机。

我知道这篇文章已经回答了很长时间,但我正在查找如何通过编程获得自定义登录页面Url。这不是很有文档记录,所以我发现:

获取SPWebApplication对象在我的示例中,我使用了SPSite.WebApplication属性。 查找具有FormsLaimsAuthentication的Web应用程序IIsseting 获取声明身份验证登录重定向Url 在这里:

这给了我在管理中心设置的自定义登录页面的相对路径

在我的情况下,我正在编写自己的FBA管理解决方案,我希望管理员能够看到登录页面,即使已经登录

using (SPSite site = new SPSite("http://mysiteurl")
{
    foreach(KeyValuePair<SPUrlZone, SPIisSettings> zone in site.WebApplication.IisSettings)
    {
        if(zone.Value.FormsClaimsAuthenticationProvider != null)
        {
            string customSignInPageUrl = zone.Value.ClaimsAuthenticationRedirectionUrl;
        }
    }
}