Получение полного имени пользователя из User.Identity в проекте Razor.Pages при аутентификации с использованием Azure AD - PullRequest
0 голосов
/ 19 апреля 2020

Я разрабатываю свое веб-приложение Razor.Pages в. Net Core 3.1, и я настроил аутентификацию, используя AD моей компании. Я могу без проблем использовать User.Identity.Name, чтобы получить значение user@domain, но мне нужно получить полное имя пользователя, вошедшего в систему, чтобы я мог отфильтровать некоторые результаты запроса в SQL DB на основе полного имени пользователя.

Я пытался погуглить, но не нашел решения своей проблемы. Спасибо!

1 Ответ

0 голосов
/ 24 апреля 2020

После некоторых поисков мне наконец-то удалось создать метод, который получает User.Identity.Name вошедшего в систему пользователя и возвращает полное имя. Ниже приведен фрагмент метода!

    public static string GetFullName(string domainName)
    {
        string fullName = "";
        UserPrincipal principal;

        using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain))
        {
            principal = UserPrincipal.FindByIdentity(ctx, domainName);
        }

        if (principal != null)
            fullName = $"{principal.GivenName} {principal.Surname}";
        else
            fullName = domainName;

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