Получить имя учетной записи AzureAd в HTML / JS - PullRequest
0 голосов
/ 14 февраля 2020

Я пишу программу с шаблонами Razor (расширение .cs html), в которой установлена ​​аутентификация AzureAd.

Поскольку я хочу создать файл .log и сохранить тех, кто вошел в систему, я хотел Спросите: Как я могу получить имя текущего пользователя, который вошел в систему?

function logName() {

    //This doesn't work
    var userName = (@User.Identity.Name); 

    $.ajax({
        type: 'PUT',
        url: '/Home/logText',
        contentType: 'application/json',
        data: JSON.stringify(userName),
    }).done(function (data, status) {
        if (status == 'success') {

        }
    }).fail(function (msg) {
        console.log('FAIL', msg);
    }).always(function (msg) {
        console.log('ALWAYS', msg);
    });
}

Я пробовал это так, потому что в автомате c сгенерированный _LoginPartial.cs html он закодирован как это:

@using System.Security.Principal

<ul class="navbar-nav">
    @if (User.Identity.IsAuthenticated)
    {
        <li class="nav-item">
            <span class="navbar-text text-light">Hello @User.Identity.Name.Remove(User.Identity.Name.IndexOf("."))!</span>
        </li>
        <li class="nav-item">
            <a class="nav-link text-light" asp-area="AzureAD" asp-controller="Account" asp-action="SignOut">Sign out</a>
        </li>
    }
    else
    {
        <li class="nav-item">
            <a class="nav-link text-light" asp-area="AzureAD" asp-controller="Account" asp-action="SignIn">Sign in</a>
        </li>
    }
</ul>

Спасибо!

...