2014-10-02 2 views
0

Он поставляется в форме, подобной i: 0 # .w | domain \ userName, но мне просто нужна часть domain \ userName.Есть ли общий способ анализа свойства LoginName в экземпляре Microsoft.SharePoint.Client.User?

Я могу определенно просто разделить на |, но просто интересно, есть ли более элегантный способ получить имя пользователя.

ответ

0

Да, элегантный способ

private string GetLoginName(string name) 
{ 
    var manager = SPClaimProviderManager.Local; 
    if (manager != null) 
    { 
     return SPClaimProviderManager.IsEncodedClaim(name) ? manager.DecodeClaim(name).Value : name; 
    } 
    return name; 
} 

Заканчивать http://www.madhur.co.in/blog/2014/01/29/convert-claim-based-login-name.html

+0

К сожалению, я использую модель клиента, но спасибо за долю. – yNext

0

Я только что узнал, на мой взгляд, лучшее выражение для разбора этого. Вместо использования Split, лучше использовать Substring(user.LoginName.IndexOf('|') + 1)

Смежные вопросы