Я думаю, у вас есть проблема, вы не реализовали IUserLockoutStore<TUser>
интерфейс. Поскольку вы не используете платформу Entity, вам необходимо реализовать все необходимые хранилища самостоятельно. Ниже приведены функции, которые вам нужно реализовать.
Task<int> GetAccessFailedCountAsync(TUser user, CancellationToken cancellationToken);
Task<bool> GetLockoutEnabledAsync(TUser user, CancellationToken cancellationToken);
Task<DateTimeOffset?> GetLockoutEndDateAsync(TUser user, CancellationToken cancellationToken);
Task<int> IncrementAccessFailedCountAsync(TUser user, CancellationToken cancellationToken);
Task ResetAccessFailedCountAsync(TUser user, CancellationToken cancellationToken);
Task SetLockoutEnabledAsync(TUser user, bool enabled, CancellationToken cancellationToken);
Task SetLockoutEndDateAsync(TUser user, DateTimeOffset? lockoutEnd, CancellationToken cancellationToken);
После того, как вы внедрили интерфейс IUserLockoutStore<TUser>
, вы должны включить функцию блокировки для отдельного пользователя, чтобы добиться этого, вам просто нужно установить User.LockoutEnabled = 1 (true)
в AspNetUsers
таблице.
Я надеюсь, что это решит вашу проблему!