From 00cef562937b5bf1880a90b3f4e782637fdf6d0f Mon Sep 17 00:00:00 2001 From: Roc Date: Sat, 27 Aug 2022 00:41:46 +0800 Subject: [PATCH] Add `PreSignInCheckAsync` method --- .../AbpOpenIdDictControllerBase.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AbpOpenIdDictControllerBase.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AbpOpenIdDictControllerBase.cs index ff7edb3e52..d1321ad9e1 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AbpOpenIdDictControllerBase.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/Controllers/AbpOpenIdDictControllerBase.cs @@ -73,4 +73,24 @@ public abstract class AbpOpenIdDictControllerBase : AbpController return false; } + + protected virtual async Task PreSignInCheckAsync(IdentityUser user) + { + if (!user.IsActive) + { + return false; + } + + if (!await SignInManager.CanSignInAsync(user)) + { + return false; + } + + if (await UserManager.IsLockedOutAsync(user)) + { + return false; + } + + return true; + } }