Sharepoint извлекает имя пользователя без домена или программно удаляет домен - PullRequest
0 голосов
/ 16 августа 2010

Я возвращаю имя пользователя с сайта sharepoint в виде строки.Это делается успешно с помощью приведенного ниже кода, но я также получаю домен с ним.Как я могу только вернуть имя пользователя, а не домен, либо через sharepoint, либо программно удалив его?домен / имя пользователя

 private string CurrentUserName()
    {
        string userName = "NA";
        SPContext currentContext;
        try
        {
            //Getting the current context
            currentContext = SPContext.Current;
        }
        catch (InvalidOperationException)
        {
            currentContext = null;
        }
        if (currentContext != null && currentContext.Web.CurrentUser != null)
        {
            userName = SPContext.Current.Web.CurrentUser.LoginName;
        }
        else
        {

        }
        return userName;
    }

Ответы [ 3 ]

4 голосов
/ 16 августа 2010

Предполагается, что пользователь возвращается в этом формате

domain\username

Вы можете сделать следующее:

string userWithoutDomain = userName.Substring(userName.IndexOf('\\') + 1);

Если формат такой

username@domain

тогда будет работать следующее

string userWithoutDomain = user.Substring(0, user.IndexOf('@'));

Вероятно, вам следует проверить, какой у вас формат, и извлечь имя пользователя на основе этого. Если имя пользователя не содержит ни @, ни \, вы просто возвращаете всю строку.

0 голосов
/ 17 августа 2010

Пожалуйста, используйте ниже код

 site = new SPSite(SPContext.Current.Site.ID);
             web = site.OpenWeb();
            userName = web.CurrentUser.Name.ToString() ;
0 голосов
/ 16 августа 2010

Измените имя столбца в списке информации о пользователе, и вы получите SPContext.Current.Web.CurrentUser.Name потому что логин не может измениться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...