我与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”。 谢谢
答案 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;
}