0

i work with fbamembership provider connect to Aspnetdb using c# i try to get name of current user in SharePoint 2013 , i use two different methods but a problem has occurred when i use the first one method 1: SPContext.Current.Web.CurrentUser.LoginName; but it return null! i don't know why!

method 2: HttpContext.Current.User.Identity.Name; return "0#.f|fbamembershipprovider|test@hotmail.com"

Is there a way to return "test@hotmail.com" only. Thank You

4

2 回答 2

1

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

于 2013-10-24T11:30:01.203 回答
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;
}

关联

于 2013-10-24T12:07:06.477 回答