0

在 Sharepoint 2010 中,我们创建了一个具有经典身份验证的 Web 应用程序并开始开发它。稍后,我们想要对我们的项目实施表单身份验证,因此我创建了一个启用了基于表单的身份验证的新 SharePoint Web 应用程序。我备份了旧站点(经典身份验证)并恢复到新站点(fba)。我通过以下链接实现了表单身份验证:

使用 IIS7 为 SharePoint 2010 配置基于表单的身份验证

我创建了一个自定义登录页面。输入有效凭据后,用户不会被重定向到主页。身份验证正常进行,但未重定向到主页。当我单击登录按钮时,它再次加载相同的登录页面。请找到以下用于身份验证和重定向到主页的代码:

protected void btnLogin2_Click(object sender, EventArgs e)
{
  if (Membership.ValidateUser(txtUserId.Value, txtPassword.Value))
  {
    string link = "http://ejudnam:36414/sites/Prototype/Dashboard/Pages/default.aspx");

    Response.Redirect(link);

    //I tried with the below line also but it is of no use
    // SPUtility.Redirect(link, SPRedirectFlags.Default, this.Context);
  }  
  else
  {
    lblMessage.Text = "Login Failed.";
  }
}

我们无法弄清楚这个问题。我尝试了很多解决方案,但它们没有用。

4

1 回答 1

2

请使用SPClaimsUtility在基于声明的应用程序中授权用户。

从 .\assembly\GAC_MSIL\Microsoft.SharePoint.IdentityModel\14.0.0.0__71e9bce111e9429c \Microsoft.SharePoint.IdentityModel.dll添加Microsoft.SharePoint.IdentityModel DLL 引用以访问 SPClaimsUtility

比试试这个:

  SPSecurity.RunWithElevatedPrivileges(delegate()
        {
           bool status = SPClaimsUtility.AuthenticateFormsUser(Context.Request.UrlReferrer, txtUserId.Value, txtPassword.Value);
           if (status)
              {
               string link = "http://ejudnam:36414/sites/Prototype/Dashboard/Pages/default.aspx";
              Response.Redirect(link);
              }
        });
于 2012-05-14T11:14:37.320 回答