[feature] 建立鉴权项目结构
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace SiteManagementSystem_SoftwareEngineering_.Controllers
|
||||
{
|
||||
public class FieldController : ControllerBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using SiteManagementSystem_SoftwareEngineering_.Entity;
|
||||
using SiteManagementSystem_SoftwareEngineering_.Extension;
|
||||
using SiteManagementSystem_SoftwareEngineering_.Factory;
|
||||
using SiteManagementSystem_SoftwareEngineering_.Interface;
|
||||
using SiteManagementSystem_SoftwareEngineering_.Model;
|
||||
|
||||
namespace SiteManagementSystem_SoftwareEngineering_.Controllers
|
||||
{
|
||||
public class UserController : ControllerBase
|
||||
{
|
||||
private readonly IUserManageService _userManageService;
|
||||
private readonly ITokenFactory _tokenFactory;
|
||||
public UserController(IUserManageService userManageService,ITokenFactory tokenFactory)
|
||||
{
|
||||
_userManageService = userManageService;
|
||||
_tokenFactory = tokenFactory;
|
||||
}
|
||||
|
||||
[HttpGet("AddInitAdministratorUser")]
|
||||
public IActionResult AddInitAdministratorUser()
|
||||
{
|
||||
_userManageService.AddUser(
|
||||
new User
|
||||
{
|
||||
Name = "admin",
|
||||
RoleName = "Administrator",
|
||||
Secret = "admin"
|
||||
}
|
||||
);
|
||||
return this.Success();
|
||||
}
|
||||
|
||||
[HttpPost("AddUser")]
|
||||
public IActionResult AddUser(UserModel user)
|
||||
{
|
||||
_userManageService.AddUser(new User(user));
|
||||
return this.Success();
|
||||
}
|
||||
|
||||
[HttpPost("Login")]
|
||||
public IActionResult Login(UserModel model)
|
||||
{
|
||||
var user = new User(model);
|
||||
var (result, info) = _userManageService.IsUserExist(ref user);
|
||||
if (!result)
|
||||
return this.Forbidden(info);
|
||||
|
||||
return this.Success("", new
|
||||
{
|
||||
AccessToken = _tokenFactory.CreateAccessToken(user),
|
||||
RefreshToken = _tokenFactory.CreateRefreshToken(user)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user