仅使用用户名进行Sharepoint身份验证

时间:2013-03-07 23:47:30

标签: sharepoint forms-authentication single-sign-on

我目前有一个使用表单身份验证的MVC网站。

在这个网站上,我可以通过简单地在aspnet_Membership表中拥有与其UserId相对应的GUID来自动登录用户。我所做的只是查询表,然后使用他们的用户名我只需要表单身份验证设置auth cookie。

我目前使用:

FormsAuthentication.RedirectFromLoginPage(username, false)

但也可以选择使用:

FormsAuthentication.SetAuthCookie(username, false, "/")

现在,我需要做类似的事情,但是在SharePoint上。 SP可以访问我的会员表。

但是,似乎SP使用SecurityTokens进行验证:

        SecurityToken token = SPSecurityContext.SecurityTokenForFormsAuthentication(new Uri(SPContext.Current.Web.Url), formsClaimsAuthenticationProvider.MembershipProvider, formsClaimsAuthenticationProvider.RoleProvider, strUsername, strPassword);   

        if (null != token)   
        {   
            EstablishSessionWithToken(token);   
            Response.Redirect(strSource);
        }

有没有办法通过简单地提供没有密码的用户名来获取此令牌?

1 个答案:

答案 0 :(得分:1)

不完全确定,但是当您使用FBA(基于表单的身份验证)时,您可以创建自己的登录页面。在该自定义登录页面中,您可以执行任何要对用户进行身份验证的操作。

当然,您必须configure SharePoint first for FBA处理quite a "complicated"

如果这还不够,并且SQLMembershipProvider不是您想要的,您甚至可以编写自己的成员资格提供者/角色提供者,这完全符合您的要求:使用GUID等。