代码改变世界

ABP 登陆

2020-07-24 17:07  qgbo  阅读(1929)  评论(0编辑  收藏  举报

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存下来。