Sharepoint UserProfileService

时间:2010-06-14 02:50:26

标签: sharepoint session web-services

我在Windows身份验证下都有一个sharepoint站点和一个自定义aspx门户。 在同一台机器上,我的sharepoint网站返回了我当前的登录信息,而我的自定义aspx则将我的域管理员帐户归还给我。

无论如何,我可以确保两个登录都相同吗?否则,无论如何都要从自定义aspx门户使用SPUserProfileService吗?

主要是,我需要使用自定义aspx门户来获取sharepoint登录ID。不过,我仍然可以在sharepoint中触发AccessDenied.aspx来提示登录。

2 个答案:

答案 0 :(得分:0)

当您说“自定义ASPX门户”时,它是否仍然托管在SharePoint网站上?

在这种情况下,您如何获得用户?您可以使用SPContext.Current.Web.CurrentUser来获取用户。

答案 1 :(得分:0)

您似乎使用域管理员帐户从自定义aspx连接到SharePoint。 您能否详细描述一下您的自定义aspx门户以及您阅读用户名的方式?

但是,你可以查看我的文章(尽管它适用于FBA用户,你可能会发现代码片段很有用): Possible ways to get logged in User Name & Handling Changes in FBA Users' Names if Membership Provider Name Changed

public string GetFlatUserName()
{
    //First, be sure that the user is not anonymous user:
    if (SPContext.Current == null || SPContext.Current.Web.CurrentUser == null)
        return "Anonymous";
    //Second, parse it:
    else
    {
        string flatUserName = this.Page.User.Identity.Name;
        if (flatUserName.Contains("\\"))
        {
            flatUserName = flatUserName.Substring(flatUserName.IndexOf("\\") + 1);
        }
        else if (flatUserName.Contains("|"))
        {
            flatUserName = flatUserName.Substring(flatUserName.IndexOf("|") + 1);
        }
        return flatUserName;
    }
}