Я пишу программу с шаблонами 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>
Спасибо!