sharepoint 2013以编程方式获取登录名

时间:2013-10-24 07:59:55

标签: c# sharepoint sharepoint-2013

我与fbamembership提供商合作使用c#连接到Aspnetdb 我尝试在SharePoint 2013中获取当前用户的名称,我使用两种不同的方法但是当我使用第一种方法时出现了问题 方法1: SPContext.Current.Web.CurrentUser.LoginName; 但它返回null!我不知道为什么!

方法2: HttpContext.Current.User.Identity.Name;  return “0#.f|fbamembershipprovider|test@hotmail.com”

有没有办法只返回“test@hotmail.com”。 谢谢

2 个答案:

答案 0 :(得分:1)

你可以发布方法1的整个代码块吗?对于方法2,您只需选择对方法2的结果执行Substring

答案 1 :(得分:0)

对于方法2,您可以尝试:

string usr= HttpContext.Current.User.Identity.Name;
SPClaimProviderManager manager = SPClaimProviderManager.Local;
if (manager != null)
{
    if (SPClaimProviderManager.IsEncodedClaim(usr))
       string result = manager.DecodeClaim(usr).Value;
}

link