You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
1.1 KiB
26 lines
1.1 KiB
using Easy.AuthorityManagement.Clean.Shared.Consts;
|
|
using Easy.AuthorityManagement.Clean.Shared.IServices;
|
|
using Easy.DDD.Domain;
|
|
|
|
namespace Easy.AuthorityManagement.Clean.Domain.Services;
|
|
|
|
public class IdentityUserManager : DomainService, IIdentityUserManager
|
|
{
|
|
protected IPermissionGrantManager PermissionGrantManager => LazyServiceProvider.LazyGetService<IPermissionGrantManager>();
|
|
protected IRepository<IdentityUser> IdentityUserRepository { get; }
|
|
public IdentityUserManager(IRepository<IdentityUser> identityUserRepository)
|
|
{
|
|
IdentityUserRepository = identityUserRepository;
|
|
}
|
|
|
|
public async Task<IdentityUser> PasswordSignInAsync(string accout, string passwordHash)
|
|
{
|
|
When.Is(string.IsNullOrEmpty(accout), LoginResultConst.UserNameNotNullError);
|
|
When.Is(string.IsNullOrEmpty(passwordHash), LoginResultConst.PassWordNotNullError);
|
|
var identityUser = await IdentityUserRepository.Set
|
|
.FirstOrDefaultAsync(o => o.UserAccount == accout && o.PasswordHash == passwordHash);
|
|
When.Is(identityUser == null, LoginResultConst.PassWordLoginError);
|
|
return identityUser;
|
|
}
|
|
|
|
}
|