diff --git a/Tiobon.Core.Api/Controllers/LoginController.cs b/Tiobon.Core.Api/Controllers/LoginController.cs
index 4f953268..925eae52 100644
--- a/Tiobon.Core.Api/Controllers/LoginController.cs
+++ b/Tiobon.Core.Api/Controllers/LoginController.cs
@@ -4,6 +4,7 @@ using Microsoft.AspNetCore.Authentication.JwtBearer;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using Tiobon.Core.Common.Swagger;
+using Tiobon.Core.Services;
namespace Tiobon.Core.Controllers
@@ -16,7 +17,7 @@ namespace Tiobon.Core.Controllers
[AllowAnonymous]
public class LoginController : BaseApiController
{
- readonly ISysUserInfoServices _sysUserInfoServices;
+ readonly IGhrs_UserServices _ghrs_UserServices;
readonly IUserRoleServices _userRoleServices;
readonly IRoleServices _roleServices;
readonly PermissionRequirement _requirement;
@@ -26,15 +27,15 @@ namespace Tiobon.Core.Controllers
///
/// 构造函数注入
///
- ///
+ ///
///
///
///
///
///
- public LoginController(ISysUserInfoServices sysUserInfoServices, IUserRoleServices userRoleServices, IRoleServices roleServices, PermissionRequirement requirement, IRoleModulePermissionServices roleModulePermissionServices, ILogger logger)
+ public LoginController(IGhrs_UserServices ghrs_UserServices, IUserRoleServices userRoleServices, IRoleServices roleServices, PermissionRequirement requirement, IRoleModulePermissionServices roleModulePermissionServices, ILogger logger)
{
- this._sysUserInfoServices = sysUserInfoServices;
+ this._ghrs_UserServices = ghrs_UserServices;
this._userRoleServices = userRoleServices;
this._roleServices = roleServices;
_requirement = requirement;
@@ -59,16 +60,16 @@ namespace Tiobon.Core.Controllers
bool suc = false;
//这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作
- var user = await _sysUserInfoServices.GetUserRoleNameStr(name, MD5Helper.MD5Encrypt32(pass));
- if (user != null)
- {
- TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = user };
+ //var user = await _sysUserInfoServices.GetUserRoleNameStr(name, MD5Helper.MD5Encrypt32(pass));
+ //if (user != null)
+ //{
+ // TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = user };
- jwtStr = JwtHelper.IssueJwt(tokenModel);
- suc = true;
- }
- else
- jwtStr = "login fail!!!";
+ // jwtStr = JwtHelper.IssueJwt(tokenModel);
+ // suc = true;
+ //}
+ //else
+ // jwtStr = "login fail!!!";
return new ServiceResult()
{
@@ -137,42 +138,43 @@ namespace Tiobon.Core.Controllers
if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pass))
return Failed("用户名或密码不能为空");
+ if (name != "Tiobonadmin" || pass != "Tiobonadmin")
+ return Failed("用户名或密码不能为空");
pass = MD5Helper.MD5Encrypt32(pass);
-
- var user = await _sysUserInfoServices.Query(d =>
- d.LoginName == name && d.LoginPWD == pass && d.IsDeleted == false);
+ name = "A1314";
+ var user = await _ghrs_UserServices.Query(d => d.UserNo == name && d.IsEnable == 1);
if (user.Count > 0)
{
- var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(name, pass);
+ //var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(name, pass);
//如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色
var claims = new List
{
- new Claim(ClaimTypes.Name, user.FirstOrDefault().Id.ToString()),
- new Claim(JwtRegisteredClaimNames.Jti, user.FirstOrDefault().Id.ToString()),
- new Claim("TenantId", user.FirstOrDefault().TenantId.ToString()),
+ new Claim(ClaimTypes.Name, user.FirstOrDefault().UserId.ToString()),
+ new Claim(JwtRegisteredClaimNames.Jti, user.FirstOrDefault().UserId.ToString()),
+ new Claim("TenantId", "0"),
new Claim(JwtRegisteredClaimNames.Iat, DateTime.Now.DateToTimeStamp()),
new Claim(ClaimTypes.Expiration,
DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
};
- claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
+ //claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
// ids4和jwt切换
// jwt
if (!Permissions.IsUseIds4)
{
- var data = await _roleModulePermissionServices.RoleModuleMaps();
- var list = (from item in data
- where item.IsDeleted == false
- orderby item.Id
- select new PermissionItem
- {
- Url = item.Module?.LinkUrl,
- Role = item.Role?.Name.ObjToString(),
- }).ToList();
-
- _requirement.Permissions = list;
+ //var data = await _roleModulePermissionServices.RoleModuleMaps();
+ //var list = (from item in data
+ // where item.IsDeleted == false
+ // orderby item.Id
+ // select new PermissionItem
+ // {
+ // Url = item.Module?.LinkUrl,
+ // Role = item.Role?.Name.ObjToString(),
+ // }).ToList();
+
+ //_requirement.Permissions = list;
}
var token = JwtToken.BuildJwtToken(claims.ToArray(), _requirement);
@@ -206,24 +208,32 @@ namespace Tiobon.Core.Controllers
var tokenModel = JwtHelper.SerializeJwt(token);
if (tokenModel != null && JwtHelper.customSafeVerify(token) && tokenModel.Uid > 0)
{
- var user = await _sysUserInfoServices.QueryById(tokenModel.Uid);
+ var user = await _ghrs_UserServices.QueryById(tokenModel.Uid);
var value = User.Claims.SingleOrDefault(s => s.Type == JwtRegisteredClaimNames.Iat)?.Value;
- if (value != null && user.CriticalModifyTime > value.ObjToDate())
- return Failed("很抱歉,授权已失效,请重新授权!");
+ //if (value != null && user.CriticalModifyTime > value.ObjToDate())
+ // return Failed("很抱歉,授权已失效,请重新授权!");
- if (user != null && !(value != null && user.CriticalModifyTime > value.ObjToDate()))
+ //if (user != null && !(value != null && user.CriticalModifyTime > value.ObjToDate()))
+ if (user != null)
{
- var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(user.LoginName, user.LoginPWD);
+ //var userRoles = await _ghrs_UserServices.GetUserRoleNameStr(user.LoginName, user.LoginPWD);
//如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色
- var claims = new List
- {
- new Claim(ClaimTypes.Name, user.LoginName),
- new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ObjToString()),
- new Claim(JwtRegisteredClaimNames.Iat, DateTime.Now.DateToTimeStamp()),
- new Claim(ClaimTypes.Expiration,
- DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
- };
- claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
+ //var claims = new List
+ //{
+ // new Claim(ClaimTypes.Name, user.LoginName),
+ // new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ObjToString()),
+ // new Claim(JwtRegisteredClaimNames.Iat, DateTime.Now.DateToTimeStamp()),
+ // new Claim(ClaimTypes.Expiration,
+ // DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
+ //};
+ var claims = new List{
+ new Claim(ClaimTypes.Name, user.UserId.ToString()),
+ new Claim(JwtRegisteredClaimNames.Jti, user.UserId.ToString()),
+ new Claim("TenantId", "0"),
+ new Claim(JwtRegisteredClaimNames.Iat, DateTime.Now.DateToTimeStamp()),
+ new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString())
+ };
+ //claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s)));
//用户标识
var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme);
diff --git a/Tiobon.Core.Tests/Controller_Test/LoginController_Should.cs b/Tiobon.Core.Tests/Controller_Test/LoginController_Should.cs
index f17bdffc..15ee2577 100644
--- a/Tiobon.Core.Tests/Controller_Test/LoginController_Should.cs
+++ b/Tiobon.Core.Tests/Controller_Test/LoginController_Should.cs
@@ -7,72 +7,72 @@ using Microsoft.Extensions.Logging;
namespace Tiobon.Core.Tests
{
- public class LoginController_Should
- {
- LoginController loginController;
+ public class LoginController_Should
+ {
+ LoginController loginController;
- private readonly ISysUserInfoServices _sysUserInfoServices;
- private readonly IUserRoleServices _userRoleServices;
- private readonly IRoleServices _roleServices;
- private readonly PermissionRequirement _requirement;
- private readonly IRoleModulePermissionServices _roleModulePermissionServices;
- private readonly ILogger _logger;
+ private readonly IGhrs_UserServices _ghrs_UserServices;
+ private readonly IUserRoleServices _userRoleServices;
+ private readonly IRoleServices _roleServices;
+ private readonly PermissionRequirement _requirement;
+ private readonly IRoleModulePermissionServices _roleModulePermissionServices;
+ private readonly ILogger _logger;
- DI_Test dI_Test = new DI_Test();
+ DI_Test dI_Test = new DI_Test();
- public LoginController_Should()
- {
- var container = dI_Test.DICollections();
- _sysUserInfoServices = container.Resolve();
- _userRoleServices = container.Resolve();
- _roleServices = container.Resolve();
- _requirement = container.Resolve();
- _roleModulePermissionServices = container.Resolve();
- _logger = container.Resolve>();
- loginController = new LoginController(_sysUserInfoServices, _userRoleServices, _roleServices, _requirement,
- _roleModulePermissionServices, _logger);
- }
+ public LoginController_Should()
+ {
+ var container = dI_Test.DICollections();
+ _ghrs_UserServices = container.Resolve();
+ _userRoleServices = container.Resolve();
+ _roleServices = container.Resolve();
+ _requirement = container.Resolve();
+ _roleModulePermissionServices = container.Resolve();
+ _logger = container.Resolve>();
+ loginController = new LoginController(_ghrs_UserServices, _userRoleServices, _roleServices, _requirement,
+ _roleModulePermissionServices, _logger);
+ }
- [Fact]
- public void GetJwtStrTest()
- {
- var data = loginController.GetJwtStr("test", "test");
+ [Fact]
+ public void GetJwtStrTest()
+ {
+ var data = loginController.GetJwtStr("test", "test");
- Assert.NotNull(data);
- }
+ Assert.NotNull(data);
+ }
- [Fact]
- public void GetJwtStrForNuxtTest()
- {
- object Tiobons = loginController.GetJwtStrForNuxt("test", "test");
+ [Fact]
+ public void GetJwtStrForNuxtTest()
+ {
+ object Tiobons = loginController.GetJwtStrForNuxt("test", "test");
- Assert.NotNull(Tiobons);
- }
+ Assert.NotNull(Tiobons);
+ }
- [Fact]
- public async void GetJwtToken3Test()
- {
- var res = await loginController.GetJwtToken3("test", "test");
+ [Fact]
+ public async void GetJwtToken3Test()
+ {
+ var res = await loginController.GetJwtToken3("test", "test");
- Assert.NotNull(res);
- }
+ Assert.NotNull(res);
+ }
- [Fact]
- public async void RefreshTokenTest()
- {
- var res = await loginController.RefreshToken(
- "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoidGVzdCIsImp0aSI6IjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiIyMDE5LzEwLzE4IDIzOjI2OjQ5IiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW5UZXN0IiwibmJmIjoxNTcxNDA4ODA5LCJleHAiOjE1NzE0MTI0MDksImlzcyI6IkJsb2cuQ29yZSIsImF1ZCI6IndyIn0.oz-SPz6UCL78fM09bUecw5rmjcNYEY9dWGtuPs2gdBg");
+ [Fact]
+ public async void RefreshTokenTest()
+ {
+ var res = await loginController.RefreshToken(
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoidGVzdCIsImp0aSI6IjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiIyMDE5LzEwLzE4IDIzOjI2OjQ5IiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjoiQWRtaW5UZXN0IiwibmJmIjoxNTcxNDA4ODA5LCJleHAiOjE1NzE0MTI0MDksImlzcyI6IkJsb2cuQ29yZSIsImF1ZCI6IndyIn0.oz-SPz6UCL78fM09bUecw5rmjcNYEY9dWGtuPs2gdBg");
- Assert.NotNull(res);
- }
+ Assert.NotNull(res);
+ }
- [Fact]
- public void Md5PasswordTest()
- {
- var res = loginController.Md5Password("test");
+ [Fact]
+ public void Md5PasswordTest()
+ {
+ var res = loginController.Md5Password("test");
- Assert.NotNull(res);
- }
- }
+ Assert.NotNull(res);
+ }
+ }
}
\ No newline at end of file