有没有通过编程方式确定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 - 以编程方式添加基于表单的身份验证