我正在使用带有ASP.NET身份的ASP.NET Core,并具有以下内容:
User user = await _userManager.FindByEmailAsync(myEmail);
SignInResult result = await _signInManager.PasswordSignInAsync(user, myPassword, true, false);
我找到了一位用户,但当我尝试登录该用户时,我收到了错误消息:
[Error] An unhandled exception has occurred while executing the request
System.InvalidOperationException:没有配置身份验证处理程序来处理该方案:Microsoft.AspNet.Identity.Application
在Web项目启动文件中我有:
public void Configure(IApplicationBuilder applicationBuilder, IHostingEnvironment hostingEnvironment, ILoggerFactory loggerFactory) {
// Other configuration code lines
applicationBuilder.UseIISPlatformHandler(options => options.AuthenticationDescriptions.Clear());
applicationBuilder.UseIdentity();
} // Configure
public void ConfigureServices(IServiceCollection services) {
// Other configuration code lines
services
.AddIdentity<User, Role>()
.AddEntityFrameworkStores<Context, Int32>()
.AddDefaultTokenProviders();
}
我不知道出了什么问题。我试图改变配置,我总是得到同样的错误......
有什么想法吗?
答案 0 :(得分:7)
applicationBuilder.UseIdentity();
应该配置cookie中间件,确保在调用
之前调用该行applicationBuilder.UseMvc()
必须在mvc 之前配置身份验证