简体   繁体   English

ASP.NET Core 2.2 如何覆盖 UserManager.CreateAsync 以删除唯一用户名要求

[英]ASP.NET Core 2.2 How to override UserManager.CreateAsync to remove unique Username requirement

I am trying to override my UserManager.CreateAsync to remove the requirement of a unique Username.我正在尝试覆盖我的 UserManager.CreateAsync 以消除对唯一用户名的要求。 How can I do that?我怎样才能做到这一点?

So far this is what I have到目前为止,这就是我所拥有的

public class CustomUserManager : UserManager<User>
{
    public string TenantId { get; set; }
    public CustomUserManager(IUserStore<User> store, IOptions<IdentityOptions> optionsAccessor,
    IPasswordHasher<User> passwordHasher, IEnumerable<IUserValidator<User>> userValidators,
    IEnumerable<IPasswordValidator<User>> passwordValidators, ILookupNormalizer keyNormalizer,
    IdentityErrorDescriber errors, IServiceProvider services, ILogger<UserManager<User>> logger) : base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, services, logger)
    {
    }

    public override async Task<IdentityResult> CreateAsync(User user, string Password)
    {
        ThrowIfDisposed();
        user.TenantId = this.TenantId; 
        if (user == null)
        {
            throw new ArgumentNullException("user");
        }
        var result = dbContext.Users.Any(u => u.UserName == user.UserName && u.TenantId == user.TenantId);
        if (result == true)
        {
            return IdentityResult.Failed();
        }
        return await base.CreateAsync(user, Password);
    }
}

I can't force create the user due to me using base.CreateAsync.由于我使用 base.CreateAsync,我无法强制创建用户。 How can I overwrite what CreateAsync is doing?如何覆盖 CreateAsync 正在执行的操作?

I am stuck with this.我坚持这一点。

Please try to set dbContext.Configuration.ValidateOnSaveEnabled = false;请尝试设置 dbContext.Configuration.ValidateOnSaveEnabled = false; see if it's working.看看它是否有效。

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

相关问题 ASP.Net.Core userManager.CreateAsync - ASP.Net.Core userManager.CreateAsync Asp .Net Core 单元测试模拟 UserManager.CreateAsync 并返回标识结果 - Asp .Net Core Unit Test Mock UserManager.CreateAsync and return Identity Result ASP.NET Identity UserManager.CreateAsync()最近是否已进行重大更改更新? - Has ASP.NET Identity UserManager.CreateAsync() been updated with breaking changes recently? 如何模拟 Asp.net 身份 UserManager 的 CreateAsync 方法 - How to mock Asp.net identity UserManager's CreateAsync method .NET Core UserManager CreateAsync 使用户名/电子邮件/电话号码始终为空 - .NET Core UserManager CreateAsync leaves UserName/Email/PhoneNumber always null 如何删除使用UserManager.CreateAsync创建的用户 - How to delete users that were created with UserManager.CreateAsync 如何在ASP.Net Core2.2中覆盖415响应 - How to Override 415 response in ASP.Net Core2.2 无法通过UserManager更新用户 <TUser> 在asp.net core 2.2应用程序中使用ef core 2.2 - unable to update user via UserManager<TUser> using ef core 2.2 in asp.net core 2.2 app ASP.NET Core CreateAsync引发ObjectDisposedException - ASP.NET Core CreateAsync raises ObjectDisposedException UserManager.CreateAsync 不生成 Id - UserManager.CreateAsync does not generate Id
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM