Возврат активного пользователя из IdentityServer4 при входе в клиент MVC .netaspcore - PullRequest
0 голосов
/ 31 октября 2019

Я уверен, что кто-то задал этот вопрос или что-то простое, с чем я только что боролся.

Я собираюсь получить документы по Identity Server, и мне удалось настроить его как сервер, API. и MVC Client.

Я могу войти в MVC Client, используя Identity Server.

Я пытаюсь добавить текущего пользователя для входа и выхода в _loginPartial, это должно доказать, что я могу авторизовать просмотр также на основе входа в систему. Но я продолжаю сталкиваться с ошибками, что UserManger не имеет зарегистрированного типа.

любая помощь или даже ссылка на пример будут оценены.

1 Ответ

0 голосов
/ 01 ноября 2019

На основе примера кода клиента IdentityServer4 mvc вы можете получить текущего пользователя из заявок пользователей. Чтобы отобразить все заявки, вы можете использовать

@foreach (var claim in User.Claims)
{
    <dt>@claim.Type</dt>
    <dd>@claim.Value</dd>
}

Попробуйте использовать приведенный ниже код в _loginPartial.cshtml, чтобы получитьName претензия пользователя

<ul class="navbar-nav">
    @if (User.FindFirst("Name").Value != null)
    {
        <li class="nav-item">
            <a> Hello @User.FindFirst("Name").Value !</a>
        </li>
        <li class="nav-item">
            <form id="logoutForm" class="form-inline" asp-area="" asp-controller="Home" asp-action="Logout"">
                <button id="logout" type="submit" class="nav-link btn btn-link text-dark">Logout</button>
            </form>
        </li>

    }
</ul>

Действие выхода из системы:

public IActionResult Logout()
    {
        return SignOut("Cookies", "oidc");
    }
...