我按照以下教程为我的Claims SP2010网站创建了一个自定义登录页面。
但我得到的只是Firefox中的403 FORBIDDEN文本。在IE中也没有运气。我在网上搜索了几个小时,但仍然没有运气。
之前有人经历过这种情况吗?
感谢。
答案 0 :(得分:2)
根据引用的博客文章,您的自定义登录页面应继承自FormsSignInPage。我看了一下Reflector中的类,但没有看到任何会导致403错误的内容。但是,在查看其父级IdentityModelSignInPageBase时,我在OnLoad方法中找到了以下内容:
protected override void OnLoad(EventArgs e)
{
this.Context.Request.ServerVariables["FederationLoginPageRequest"] = "1";
if (this.CheckForFormsAccess
&& (AuthenticationMode.Forms != SPSecurity.AuthenticationMode))
{
SPUtilityInternal.Send403(this.Context);
}
if (!this.AllowCaching)
{
base.Response.Cache.SetNoStore();
}
base.ShowStandardControls = false;
base.OnLoad(e);
}
CheckForFormsAccess始终为true,因此请确保将Authentication Mode设置为表单。
答案 1 :(得分:1)
您可能被重定向到403,因为匿名用户无权显示自定义错误页面。
日志文件可以为您提供发生这种情况的线索。
可替换地:
在web.config文件中(一个用于Web应用程序,一个用于_layouts文件夹中),设置如下:
的customErrors = “关” 调试=“真” 调用堆栈= “真”