是否可以使用SignInManager
没有一些HTTPContext
?我正在制作 Blazor 服务器端应用程序,我需要让最终用户使用以下方式登录PasswordSignInAsync()
的方法SignInManager
.
如果有其他方法可以用cookies或其他东西来做到这一点,我也会采用,只要它们是“干净”的方法。
如果我还能得到有关如何配置的解释Startup.cs
解决方案,它将是完美的。
要在服务器端 Blazor 中使用 SignInManager,
首先,添加AddIdentity
服务于Startup.cs
services.AddIdentity<IdentityUser, IdentityRole>(options => {
options.SignIn.RequireConfirmedAccount = false;
})
.AddEntityFrameworkStores<AppDBContext>()
.AddDefaultTokenProviders();
然后,注入SignInManager
进入你的剃刀页面
@using Microsoft.AspNetCore.Identity
@inject SignInManager<IdentityUser> SignInManager
@inject NavigationManager navManager;
<!-- Put Login Form Here -->
@code{
protected async Task Submit()
{
var SignInResult= await SignInManager.PasswordSignInAsync("username", "password", true, lockoutOnFailure: false);
if (SignInResult.Succeeded)
{
navManager.NavigateTo("Home", false);
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)