ABP的用戶有多種,默認注冊的用戶名密碼,LDAP 等,登陸的代碼流程如下
TokenAuthController.Authenticate(....)
->
->LogInManager.LoginAsync(usernameOrEmailAddress, password, tenancyName) --> AbpLogInManager
這在Core 下
>LogInManager 默認沒有override, 繼承父類的方法
LoginAsyn 下面
LoginAsyncInternal // 判斷不正常的登陸用戶信息,執行 CreateLoginResultAsync,->AbpUserClaimsPrincipalFactory.createAsync().獲取Claims
SaveLoginAttemptAsync// 保存登陸記錄,userLoginAttemp 這個table
AbpLogInManager.TryLoginFromExternalAuthenticationSources 這個方法會遍歷登陸的方法,如LADP 等。
比如LDAP 登陸時,會執行到這個方法,如果登陸成功,這里會創建用戶等,會把密碼hashcode存下來。