繁体   English   中英

在 Asp.Net Core 5 Identity 中未调用自定义 UserConfirmation

[英]Custom UserConfirmation not being called in Asp.Net Core 5 Identity

使用 Asp.Net Core 5.0,我添加了 Identity 和自定义 UserConfirmation:

  services
    .AddIdentityCore<User>()
    .AddEntityFrameworkStores<Context>()
    .AddDefaultTokenProviders()
    .AddUserConfirmation<UserConfirmation<User>>();

我的自定义UserConfirmation如下:

  public class UserConfirmation<T> : IUserConfirmation<T> where T : User {

    public async virtual Task<Boolean> IsConfirmedAsync(UserManager<T> manager, T user) {
      
      if (!user.Enabled)
        return false;

      if (!await manager.IsEmailConfirmedAsync(user)) 
        return false;
      
      return true;

    }

  }

但是方法CanSignInAsync

_signInManager.CanSignInAsync(user)

即使未启用用户,也始终返回true

并且我在IsConfirmedAsync添加的断点没有被触发。

我错过了什么?

我发现了问题。 以下需要添加到身份选项中:

services.AddIdentityCore<User>(options => {
  options.SignIn.RequireConfirmedAccount = true;
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM