【发布时间】:2020-05-01 08:45:56
【问题描述】:
我正在努力在 Blazor 服务器的类中注入服务 (AuthenticationStateProvider)。如果我在 razor 组件中执行此操作,则非常简单:
@inject AuthenticationStateProvider AuthenticationStateProvider
然后
private async Task LogUsername()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = authState.User;
if (user.Identity.IsAuthenticated)
{
ClientMachineName = $"{user.Identity.Name}";
}
else
{
ClientMachineName = "Unknown";
}
}
但是我需要这样做,即在类而不是 razor 组件中检索经过身份验证的用户机器名称。
我试过例如:
[Inject]
AuthenticationStateProvider AuthenticationStateProvider { get; set; }
public async Task LogUsername()
{
var authState = await AuthenticationStateProvider.GetAuthenticationStateAsync();
var user = authState.User;
if (user.Identity.IsAuthenticated)
{
ClientMachineName = $"{user.Identity.Name}";
}
else
{
ClientMachineName = "Unknown";
}
}
但这似乎不起作用。
任何帮助将不胜感激。
【问题讨论】:
标签: dependency-injection blazor blazor-server-side