private void Redirect(SPAuthenticationProvider provider) { string comp = HttpContext.Current.Request.Url.GetComponents(UriComponents.Query, UriFormat.SafeUnescaped); string url = provider.AuthenticationRedirectionUrl.ToString(); if (provider is SPWindowsAuthenticationProvider) { comp = EnsureUrl(comp, true); } SPUtility.Redirect(url, SPRedirectFlags.Default, this.Context, comp); }
private static void Main() { SPSecurity.RunWithElevatedPrivileges(delegate { var farm = SPFarm.Local; var service = farm.Services.GetValue <SPWebService>(""); SPSecurityTokenServiceManager sptMgr = SPSecurityTokenServiceManager.Local; Console.WriteLine("list of authentication providers"); foreach (SPWebApplication spWebApplication in service.WebApplications) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Web Application name : " + spWebApplication.Name); Console.WriteLine(""); foreach (KeyValuePair <SPUrlZone, SPIisSettings> spIisSettingse in spWebApplication.IisSettings) { Console.WriteLine(spIisSettingse.Key + " : " + spWebApplication.IisSettings[spIisSettingse.Key].AuthenticationMode.ToString()); SPIisSettings theSettings = spWebApplication.GetIisSettingsWithFallback(spIisSettingse.Key); //Console.WriteLine("IsTrustedClaimsAuthenticationProvider : " + theSettings.UseTrustedClaimsAuthenticationProvider); if (theSettings.ClaimsAuthenticationProviders != null) //&& theSettings.UseTrustedClaimsAuthenticationProvider { //get the list of authentication providers associated with the zone foreach (SPAuthenticationProvider prov in theSettings.ClaimsAuthenticationProviders) { //get the SPTrustedLoginProvider using the DisplayName SPAuthenticationProvider prov1 = prov; var lp = from SPTrustedLoginProvider spt in sptMgr.TrustedLoginProviders where spt.DisplayName == prov1.DisplayName select spt; //there should only be one match, so retrieve that var loginProviders = lp as SPTrustedLoginProvider[] ?? lp.ToArray(); if ((loginProviders.Any())) { //get the login provider SPTrustedLoginProvider provider = loginProviders.First(); Console.WriteLine("Claims provider name : " + provider.ClaimProviderName); } } } } Console.WriteLine("----------------------------------------"); } Console.ReadLine(); Console.ReadKey(); }); }
//void imgEstudiante_Click(object sender, System.Web.UI.ImageClickEventArgs e) //{ // if (null != SPContext.Current && null != SPContext.Current.Site) // { // SPIisSettings iisSettings = SPContext.Current.Site.WebApplication.IisSettings[SPUrlZone.Default]; // if (null != iisSettings && iisSettings.UseWindowsClaimsAuthenticationProvider) // { // SPAuthenticationProvider provider = iisSettings.WindowsClaimsAuthenticationProvider; // RedirectToLoginPage(provider); // } // } //} private void RedirectToLoginPage(SPAuthenticationProvider provider) { string components = HttpContext.Current.Request.Url.GetComponents(UriComponents.Query, UriFormat.SafeUnescaped); string url = provider.AuthenticationRedirectionUrl.ToString(); if (provider is SPWindowsAuthenticationProvider) { components = EnsureUrlSkipsFormsAuthModuleRedirection(components, true); } SPUtility.Redirect(url, SPRedirectFlags.Default, this.Context, components); }
protected void lbInternalUsers_Click(object sender, EventArgs e) { try { if (null != SPContext.Current && null != SPContext.Current.Site) { SPIisSettings iisSettings = SPContext.Current.Site.WebApplication.IisSettings[SPUrlZone.Default]; if (null != iisSettings && iisSettings.UseWindowsClaimsAuthenticationProvider) { SPAuthenticationProvider provider = iisSettings.WindowsClaimsAuthenticationProvider; Redirect(provider); } } } catch (Exception ex) { } }
protected void Page_Load(object sender, EventArgs e) { SPWeb web = SPContext.Current.Web; var group = web.SiteGroups; if (!IsPostBack) { var companyName = "Trang quản trị"; //HttpContext.GetGlobalResourceObject("napas.resource", "CompanyName").ToString(); SetPageTitles(companyName); if (web.CurrentUser == null) { SPIisSettings iisSettings = SPContext.Current.Site.WebApplication.IisSettings[SPUrlZone.Default]; if (null != iisSettings && iisSettings.UseWindowsClaimsAuthenticationProvider) { SPAuthenticationProvider provider = iisSettings.WindowsClaimsAuthenticationProvider; RedirectToLoginPage(provider); } } } }