diff options
Diffstat (limited to 'ExamTemplate/Services')
| -rw-r--r-- | ExamTemplate/Services/Models/LoginUserServiceModel.cs | 8 | ||||
| -rw-r--r-- | ExamTemplate/Services/Services.csproj | 1 | ||||
| -rw-r--r-- | ExamTemplate/Services/UserService.cs | 14 |
3 files changed, 22 insertions, 1 deletions
diff --git a/ExamTemplate/Services/Models/LoginUserServiceModel.cs b/ExamTemplate/Services/Models/LoginUserServiceModel.cs new file mode 100644 index 0000000..1d8a2f8 --- /dev/null +++ b/ExamTemplate/Services/Models/LoginUserServiceModel.cs @@ -0,0 +1,8 @@ +namespace ExamTemplate.Services.Models +{ + public class LoginUserServiceModel + { + public string Username { get; set; } + public string Password { get; set; } + } +} diff --git a/ExamTemplate/Services/Services.csproj b/ExamTemplate/Services/Services.csproj index bac932a..9383013 100644 --- a/ExamTemplate/Services/Services.csproj +++ b/ExamTemplate/Services/Services.csproj @@ -7,6 +7,7 @@ <ItemGroup> <PackageReference Include="Automapper" Version="10.1.1" /> + <PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.2.0" /> </ItemGroup>
<PropertyGroup>
diff --git a/ExamTemplate/Services/UserService.cs b/ExamTemplate/Services/UserService.cs index 848edf6..f8075f5 100644 --- a/ExamTemplate/Services/UserService.cs +++ b/ExamTemplate/Services/UserService.cs @@ -3,6 +3,7 @@ using AutoMapper; using ExamTemplate.Data.Models;
using ExamTemplate.Data.Repositories;
using ExamTemplate.Services.Models;
+using Microsoft.AspNetCore.Identity;
namespace ExamTemplate.Services
{
@@ -10,11 +11,13 @@ namespace ExamTemplate.Services {
private readonly IMapper _autoMapper;
private readonly UserRepository _userRepository;
+ private readonly SignInManager<User> _signInManager;
- public UserService(IMapper autoMapper, UserRepository userRepository)
+ public UserService(IMapper autoMapper, UserRepository userRepository, SignInManager<User> signInManager)
{
this._autoMapper = autoMapper;
this._userRepository = userRepository;
+ this._signInManager = signInManager;
}
public async Task<bool> RegisterUserAsync(RegisterUserServiceModel registerUserServiceModel)
@@ -26,5 +29,14 @@ namespace ExamTemplate.Services return userCreateResult && addRoleResult;
}
+
+ public async Task<bool> LoginUserAsync(LoginUserServiceModel loginUserServiceModel)
+ {
+ User user = await this._userRepository.GetByUsernameAsync(loginUserServiceModel.Username);
+
+ var result = await this._signInManager.PasswordSignInAsync(loginUserServiceModel.Username, loginUserServiceModel.Password, false, false);
+
+ return result.Succeeded;
+ }
}
}
|
