有沒有通過編程方式確定SharePoint 2007 Web應用程序是否使用Forms身份驗證的方法?我想一種方法可能是從web.config中讀取它,但我想知道API中是否暴露了某些屬性。以編程方式確定身份驗證模式
3
A
回答
5
看看/_admin/Authentication.aspx是怎麼做的在中央管理:
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
string g = base.Request.QueryString["WebAppId"];
this.webApp = (SPWebApplication) SPConfigurationDatabase.Local.GetObject(new Guid(g));
this.zone = (SPUrlZone) Enum.Parse(typeof(SPUrlZone), base.Request.QueryString["Zone"]);
this.lb_Zone.Text = SPHttpUtility.HtmlEncode(SPAlternateUrl.GetZoneName(this.zone));
SPIisSettings iisSettings = this.webApp.IisSettings[this.zone];
// CODE ELIDED
if (AuthenticationMode.Windows != iisSettings.AuthenticationMode)
{
if (AuthenticationMode.Forms != iisSettings.AuthenticationMode)
{
// CODE ELIDED
}
else
{
this.rdo_authForms.Checked = true;
}
// CODE ELIDED
}
}
你感興趣的部分是它採用iisSettings.AuthenticationMode,以確定它是否是窗體身份驗證或不。所以訣竅是正確獲得與您的web應用程序和區域相關的SPIisSettings的引用。到達這一點是所有工作都需要完成的地方。
你需要這個參數的部分代碼,使信息識別和獲取到Web應用程序和區域的引用中傳遞。
看到它分配his.rdo_authForms.Checked?這就是你如何知道它是否使用表單身份驗證。
而且,這意味着你需要知道哪些區域中的Web應用程序,你正在尋找,看是否Forms身份驗證啓用
3
使用喬恩Schoning的答案,我想出了下面的代碼,以確定目前的認證模式爲表格:
if (SPContext.Current.Site.WebApplication.IisSettings[SPContext.Current.Site.Zone].AuthenticationMode == System.Web.Configuration.AuthenticationMode.Forms) { ... }
相關問題
- 1. 以HTTP身份驗證以編程方式下載文件
- 2. HttpURLConnection身份驗證模式
- 3. 以jquery模式登錄身份驗證
- 4. 以編程方式更改IIS身份驗證
- 5. 以編程方式設計基於用戶身份驗證
- 6. 以編程方式進行基本身份驗證
- 7. 使用身份驗證Cookie以編程方式發送Gmail
- 8. Office 365 API編程式身份驗證
- 9. 確定Web HTTP身份驗證方法
- 10. SoapUI Web服務身份驗證編程方式
- 11. Force to Windows通過編程方式進行身份驗證
- 12. 春季驗證 - 以編程方式綁定到驗證程序
- 13. 是否可以指定ServiceStack的身份驗證功能模式?
- 14. WSS 3.0身份驗證模式
- 15. 雙重身份驗證模式
- 16. 多對多身份驗證模式
- 17. Passport身份驗證的唯一模式
- 18. Laravel默認身份驗證與模式
- 19. SQL Server集成身份驗證模式
- 20. 檢測Web.Config中身份驗證模式
- 21. SQL混合身份驗證模式
- 22. 快捷方式Microsoft身份驗證
- 23. 身份驗證模式 - 應用程序是否已定義?
- 24. 以編程方式登錄到使用IIS身份驗證的網站
- 25. 以編程方式檢查NuGet包中的經過身份驗證的文件
- 26. 如何在SharePoint中以編程方式調用Windows身份驗證?
- 27. 如何使用facebook api以編程方式獲取身份驗證令牌?
- 28. 圖形API以編程方式作爲用戶進行身份驗證
- 29. ASP.NET MVC身份以編程方式創建用戶繞過密碼驗證
- 30. Embedded Jetty - 以編程方式添加基於表單的身份驗證