Получить все роли (группы), членом которых является пользователь в ASP.Net Core API - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь получить все роли, в которых находится пользователь.

Эта функция хорошо работает на моем локальном IIS, поскольку я - тот, кто вошел в систему, но когда я помещаю API на сервер, онполучает не мои роли.

    [Authorize(Roles = "Admin")]
    [HttpGet]
    public IActionResult Get()
    {
        WindowsIdentity user = WindowsIdentity.GetCurrent();

        var userRoles = from id in user.Groups
                         select id.Translate(typeof(NTAccount)).Value;

        return Ok(userRoles);
    }

Если я изменяю WindowsIdentity на IIdentity, я получаю правильного пользователя на локальном сервере и на сервере, но не могу получить доступ к ролям.

IIdentity user = User.Identity;
return Ok(user);

Какя могу получить список всех ролей, в которых работает пользовательский API?

1 Ответ

0 голосов
/ 13 февраля 2019

В итоге я был очень близок, и это просто, если кому-то это нужно.В первом примере замените этот:

WindowsIdentity user = WindowsIdentity.GetCurrent();

на этот:

var user = User.Identity as WindowsIdentity;
...