我在Windows身份验证下都有一个sharepoint站点和一个自定义aspx门户。 在同一台机器上,我的sharepoint网站返回了我当前的登录信息,而我的自定义aspx则将我的域管理员帐户归还给我。
无论如何,我可以确保两个登录都相同吗?否则,无论如何都要从自定义aspx门户使用SPUserProfileService吗?
主要是,我需要使用自定义aspx门户来获取sharepoint登录ID。不过,我仍然可以在sharepoint中触发AccessDenied.aspx来提示登录。
答案 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;
}
}