public async Task <MessageModel <string> > GetJwtStrForNuxt(string name, string pass) { string jwtStr = string.Empty; bool suc = false; //这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作 //这里直接写死了 if (name == "admins" && pass == "admins") { TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = "Admin" }; jwtStr = JwtHelper.IssueJwt(tokenModel); suc = true; } else { var role = await _sysUserInfoServices.GetUserRoleNameStr(name, MD5Helper.MD5Encrypt32(pass)); var user = await _sysUserInfoServices.Query(d => d.uLoginName == name && d.uLoginPWD == MD5Helper.MD5Encrypt32(pass) && d.tdIsDelete == false); if (role != null) { if (user.Count > 0) { TokenModelJwt tokenModel = new TokenModelJwt { Uid = user.FirstOrDefault().uID, Role = role }; jwtStr = JwtHelper.IssueJwt(tokenModel); suc = true; } else { jwtStr = "not find user"; } } else { jwtStr = "login fail!!!"; } } return(new MessageModel <string>() { success = suc, msg = suc ? "获取成功" : "获取失败", response = jwtStr }); }
public async Task <MessageModel <string> > Post(sysUserInfo sysUserInfo) { var data = new MessageModel <string>(); sysUserInfo.uLoginPWD = MD5Helper.MD5Encrypt32(sysUserInfo.uLoginPWD); sysUserInfo.uRemark = _user.Name; var sysuser = await _sysUserInfoServices.Query(a => a.uLoginName == sysUserInfo.uLoginName); if (sysuser.Count > 0) { data.success = false; data.msg = "用户已存在"; } else { var id = await _sysUserInfoServices.Add(sysUserInfo); data.success = id > 0; data.response = id.ObjToString(); data.msg = "添加成功"; } return(data); }
public async Task <object> GetJwtToken3(string name = "", string pass = "") { string jwtStr = string.Empty; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pass)) { return(new JsonResult(new { Status = false, message = "用户名或密码不能为空" })); } pass = MD5Helper.MD5Encrypt32(pass); var user = await _sysUserInfoServices.Query(d => d.uLoginName == name && d.uLoginPWD == pass && d.tdIsDelete == false); if (user.Count > 0) { var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(name, pass); //如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色 var claims = new List <Claim> { new Claim(ClaimTypes.Name, name), new Claim(JwtRegisteredClaimNames.Jti, user.FirstOrDefault().uID.ToString()), new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString()) }; claims.AddRange(userRoles.Split(',').Select(s => new Claim(ClaimTypes.Role, s))); 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, }).ToList(); _requirement.Permissions = list; //用户标识 var identity = new ClaimsIdentity(JwtBearerDefaults.AuthenticationScheme); identity.AddClaims(claims); var token = JwtToken.BuildJwtToken(claims.ToArray(), _requirement); return(new JsonResult(token)); } else { return(new JsonResult(new { success = false, message = "认证失败" })); } }
public async Task <MessageModel <TokenInfoViewModel> > GetJwtToken3(string name = "", string pass = "") { string jwtStr = string.Empty; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pass)) { return(Failed <TokenInfoViewModel>("用户名或密码不能为空")); } pass = MD5Helper.MD5Encrypt32(pass); var user = await _sysUserInfoServices.Query(d => d.uLoginName == name && d.uLoginPWD == pass && d.tdIsDelete == false); if (user.Count > 0) { var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(name, pass); //如果是基于用户的授权策略,这里要添加用户;如果是基于角色的授权策略,这里要添加角色 var claims = new List <Claim> { new Claim(ClaimTypes.Name, name), new Claim(JwtRegisteredClaimNames.Jti, user.FirstOrDefault().uID.ToString()), new Claim(ClaimTypes.Expiration, DateTime.Now.AddSeconds(_requirement.Expiration.TotalSeconds).ToString()) }; 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 token = JwtToken.BuildJwtToken(claims.ToArray(), _requirement); return(Success(token, "获取成功")); } else { return(Failed <TokenInfoViewModel>("认证失败")); } }
public async Task <MessageModel <PageModel <sysUserInfo> > > Get(int page = 1, string key = "") { var data = new MessageModel <PageModel <sysUserInfo> >(); int intTotalCount = 50; int totalCount = 0; int pageCount = 1; List <sysUserInfo> sysUserInfos = new List <sysUserInfo>(); sysUserInfos = await _sysUserInfoServices.Query(a => a.tdIsDelete != true && a.uStatus >= 0); if (!string.IsNullOrEmpty(key)) { sysUserInfos = sysUserInfos.Where(t => (t.uLoginName != null && t.uLoginName.Contains(key)) || (t.uRealName != null && t.uRealName.Contains(key))).ToList(); } //筛选后的数据总数 totalCount = sysUserInfos.Count; //筛选后的总页数 pageCount = (Math.Ceiling(totalCount.ObjToDecimal() / intTotalCount.ObjToDecimal())).ObjToInt(); sysUserInfos = sysUserInfos.OrderByDescending(d => d.uID).Skip((page - 1) * intTotalCount).Take(intTotalCount).ToList(); var allUserRoles = await _userRoleServices.Query(d => d.IsDeleted == false); var allRoles = await _roleServices.Query(d => d.IsDeleted == false); foreach (var item in sysUserInfos) { item.uLoginPWD = "no see me"; item.RID = (allUserRoles.FirstOrDefault(d => d.UserId == item.uID)?.RoleId).ObjToInt(); item.RoleName = allRoles.FirstOrDefault(d => d.Id == item.RID)?.Name; } return(new MessageModel <PageModel <sysUserInfo> >() { msg = "获取成功", success = totalCount >= 0, response = new PageModel <sysUserInfo>() { page = page, pageCount = pageCount, dataCount = totalCount, data = sysUserInfos, } }); }
public async Task <object> GetJwtToken3(string name = "", string pass = "") { string jwtStr = string.Empty; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pass)) { return(new JsonResult(new { success = false, message = "用户名或密码不能为空" })); } //把密码加密 pass = MD5Helper.MD5Encrypt32(pass); //查询用户 var user = await _sysUserInfoServices.Query(a => a.uLoginName == name && a.uLoginPWD == pass); //如果存在这个用户 if (user.Count() > 0) { //获取用户角色 var userRoles = await _sysUserInfoServices.GetUserRoleNameStr(name, pass); //如果是基于用户的授权策略,这里要添加用户,如果是基于角色的授权策略,这里要添加角色 var claims = new List <Claim> { new Claim(ClaimTypes.Name, name), new Claim(JwtRegisteredClaimNames.Jti, user.FirstOrDefault().uID.ToString()), 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); identity.AddClaims(claims); var token = JwtToken.BuildJwtToken(claims.ToArray(), _requirement); return(new JsonResult(token)); } else { return(new JsonResult(new { success = false, message = "认证失败" })); } }