public async Task <IActionResult> GetJwtStr(string name, string pass) { // 将用户id和角色名,作为单独的自定义变量封装进 token 字符串中。 TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = "Admin" }; var jwtStr = JWTHelper.IssueJwt(tokenModel);//登录,获取到一定规则的 Token 令牌 var suc = true; return(Ok(new { success = suc, token = jwtStr })); }
public async Task <IActionResult> GetJwtStr(string name, string pass) { //这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作 var user = await _sysUserInfoServices.GetUserRoleNameStr(name, MD5Helper.MD5Encrypt32(pass)); if (user != null) { TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = user }; return(Ok(JwtHelper.IssueJwt(tokenModel))); } return(BadRequest("login fail")); }
public void Getjsonp(string callBack, long id = 1, string sub = "Admin", int expiresSliding = 30, int expiresAbsoulute = 30) { TokenModelJwt tokenModel = new TokenModelJwt { Uid = id, Role = sub }; string jwtStr = JwtHelper.IssueJwt(tokenModel); string response = string.Format("\"value\":\"{0}\"", jwtStr); string call = callBack + "({" + response + "})"; Response.WriteAsync(call); }
public async Task <IActionResult> Login([FromBody] LoginViewModel loginViewModel) { if (!ModelState.IsValid) { return(Ok(new { code = codes.NameOrPwdError, message = "登录失败,请检查用户名或密码" })); } var user = await _userManager.FindByNameAsync(loginViewModel.UserName); if (user != null) { var result = await _signInManager.PasswordSignInAsync(user, loginViewModel.Password, false, true); if (result.Succeeded) { //Token的制作与发放 var roleName = (await _userManager.GetRolesAsync(user)); IList <Claim> ClaimResult = await _roleManager.GetClaimsAsync(await _roleManager.FindByNameAsync(roleName.Count == 0 ? "Staff" : roleName[0])); TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.ID = user.Id; tokenModel.Claims = ClaimResult; var token = JwtHelper.IssueJwt(tokenModel); return(Ok(new { code = codes.Success, data = token, message = $"登录成功,欢迎\"{user.UserName}\"" })); } if (result.IsLockedOut) { return(Ok(new { code = codes.IsLocked, message = $"账户已被临时锁定,请稍后再试{await _signInManager.UserManager.GetLockoutEndDateAsync(user)}" })); } } return(Ok(new { code = codes.NameOrPwdError, message = "登录失败,请检查用户名或密码" })); }
/// <summary> /// /// </summary> /// <param name="tokenModel"></param> /// <returns></returns> public static string IssueJwt(TokenModelJwt tokenModel) { string iss = Appsettings.app(new string[] { "Audience", "Issuer" }); string aud = Appsettings.app(new string[] { "Audience", "Audience" }); string secret = Appsettings.app(new string[] { "Audience", "Secret" }); //var claims = new Claim[] //old var claims = new List <Claim> { /* * 特别重要: * 1、这里将用户的部分信息,比如 uid 存到了Claim 中,如果你想知道如何在其他地方将这个 uid从 Token 中取出来,请看下边的SerializeJwt() 方法,或者在整个解决方案,搜索这个方法,看哪里使用了! * 2、你也可以研究下 HttpContext.User.Claims ,具体的你可以看看 Policys/PermissionHandler.cs 类中是如何使用的。 */ new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ToString()), new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), //这个就是过期时间,目前是过期1000秒,可自定义,注意JWT有自己的缓冲过期时间 new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddSeconds(1000)).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Iss, iss), new Claim(JwtRegisteredClaimNames.Aud, aud), //new Claim(ClaimTypes.Role,tokenModel.Role),//为了解决一个用户多个角色(比如:Admin,System),用下边的方法 }; // 可以将一个用户的多个角色全部赋予; // 作者:DX 提供技术支持; claims.AddRange(tokenModel.Role.Split(',').Select(s => new Claim(ClaimTypes.Role, s))); //秘钥 (SymmetricSecurityKey 对安全性的要求,密钥的长度太短会报出异常) var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var jwt = new JwtSecurityToken( issuer: iss, claims: claims, signingCredentials: creds); var jwtHandler = new JwtSecurityTokenHandler(); var encodedJwt = jwtHandler.WriteToken(jwt); return(encodedJwt); }
/// <summary> /// /// </summary> /// <param name="httpContext"></param> /// <returns></returns> public Task Invoke(HttpContext httpContext) { PreProceed(httpContext); //检测是否包含'Authorization'请求头 if (!httpContext.Request.Headers.ContainsKey("Authorization")) { PostProceed(httpContext); return(_next(httpContext)); } //var tokenHeader = httpContext.Request.Headers["Authorization"].ToString(); var tokenHeader = httpContext.Request.Headers["Authorization"].ToString().Replace("Bearer ", ""); Console.WriteLine($"{DateTime.Now} token :{tokenHeader}"); try { if (tokenHeader.Length >= 128) { //Console.WriteLine($"{DateTime.Now} token :{tokenHeader}"); TokenModelJwt tm = UserHelper.SerializeJwt(tokenHeader); //httpContext.User = "******"; //授权 var claimList = new List <Claim>(); var claim = new Claim(ClaimTypes.Role, tm.Role); claimList.Add(claim); var identity = new ClaimsIdentity(claimList); var principal = new ClaimsPrincipal(identity); httpContext.User = principal; Console.WriteLine($"{DateTime.Now} principal :{principal}"); } } catch (Exception e) { // TODO ......................................... Console.WriteLine($"{DateTime.Now} middleware wrong:{e.Message}"); } PostProceed(httpContext); return(_next(httpContext)); }
public async Task <object> GetJsonWebToken(LoginUserDto dto) { try { // 将用户名称推送到声明中,以便我们稍后识别用户。 string jwtStr = string.Empty; bool suc = false; //这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作 //这里直接写死了 if (string.IsNullOrEmpty(dto.UserName) || string.IsNullOrEmpty(dto.Password)) { return(new JsonResult(new { code = "201", status = false, message = "用户名或密码不能为空", token = "" })); } TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.Uid = 1; tokenModel.Role = "Admin"; jwtStr = JwtHelper.IssueJwt(tokenModel); return(Ok(new { code = "200", status = true, message = "生成成功", token = jwtStr })); } catch (Exception e) { return(Ok(new { code = "202", status = false, message = e.Message, token = "" })); } }
/// <summary> /// 颁发JWT字符串 /// </summary> /// <param name="tokenModel"></param> /// <returns></returns> public static string IssueJwt(TokenModelJwt tokenModel) { string iss = Startup.Configuration["Audience:Issuer"]; string aud = Startup.Configuration["Audience:Audience"]; string secret = Startup.Configuration["Audience:Secret"]; //string iss = "BaseFramwork"; //string aud = "BaseFramwork"; //string secret = "This is JWT Secret Key"; //var claims = new Claim[] //old var claims = new List <Claim> { //下边为Claim的默认配置 new Claim(JwtRegisteredClaimNames.Jti, tokenModel.Uid.ToString()), new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), //这个就是过期时间,目前是过期100秒,可自定义,注意JWT有自己的缓冲过期时间 new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddSeconds(100000)).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Iss, iss), new Claim(JwtRegisteredClaimNames.Aud, aud), new Claim("Role", tokenModel.Role), //new Claim(ClaimTypes.Role,tokenModel.Role),//为了解决一个用户多个角色(比如:Admin,System),用下边的方法 }; // 可以将一个用户的多个角色全部赋予; // 作者:DX 提供技术支持; claims.AddRange(tokenModel.Role.Split(',').Select(s => new Claim(ClaimTypes.Role, s))); //秘钥 (SymmetricSecurityKey 对安全性的要求,密钥的长度太短会报出异常) var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var jwt = new JwtSecurityToken( issuer: iss, claims: claims, expires: DateTime.Now.AddSeconds(60), signingCredentials: creds); var jwtHandler = new JwtSecurityTokenHandler(); var encodedJwt = jwtHandler.WriteToken(jwt); return(encodedJwt); }
/// <summary> /// 获取token码 /// </summary> /// <param name="name"></param> /// <param name="pass"></param> /// <returns></returns> public async Task <object> GetJwtStr(string name, string pass) { // 将用户id和角色名,作为单独的自定义变量封装进 token 字符串中。 TokenModelJwt tokenModel = new TokenModelJwt() { Uid = 1, Role = "Admin" }; var jwtStr = JwtHelper.IssueJwt(tokenModel); var suc = true; return(Ok(new { success = suc, token = jwtStr })); }
//[Route("jsonp")] public void Getjsonp(string callBack, long id = 1, string sub = "Admin", int expiresSliding = 30, int expiresAbsoulute = 30) { TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.Uid = id; tokenModel.Role = sub; DateTime d1 = DateTime.Now; DateTime d2 = d1.AddMinutes(expiresSliding); DateTime d3 = d1.AddDays(expiresAbsoulute); TimeSpan sliding = d2 - d1; TimeSpan absoulute = d3 - d1; var jwtStr = JwtHelper.IssueJwt(tokenModel); string response = string.Format("\"value\":\"{0}\"", jwtStr); string call = callBack + "({" + response + "})"; Response.WriteAsync(call); }
public async Task <IActionResult> Login(LoginInput input) { if (string.IsNullOrWhiteSpace(input.UserName)) { throw new UserOperationException("请输入用户名!"); } if (string.IsNullOrWhiteSpace(input.Password)) { throw new UserOperationException("请输入密码!"); } var user = (await _userServices.Query(u => u.UserName == input.UserName && u.Password == MD5Helper.MD5Encrypt32(input.Password))).SingleOrDefault(); if (user == null) { throw new UserOperationException("用户不存在或密码错误!"); } if (user.Status == 0) { throw new UserOperationException("您的账号已被禁用!"); } var tokenModel = new TokenModelJwt { UserId = user.Id }; var userRoles = await _userRoleServices.Query(ur => ur.UserId == user.Id); if (userRoles.Any()) { var roleIds = userRoles.Select(ur => ur.RoleId).ToList(); var roles = await _roleServices.Query(r => roleIds.Contains(r.Id)); tokenModel.Roles = roles.Select(r => r.Name).ToList(); } var userPermissions = await _permissionServices.GetUserPermissions(user.Id); _requirement.Permissions = userPermissions.Select(p => new Permission { Role = p.RoleName, Url = p.LinkUrl }).ToList(); var token = _jwtHelper.BuildJwtToken(tokenModel); return(Ok(token)); }
public ResponseDto GetToken(string name, string password) { if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(password)) { return new ResponseDto { Code = 0, Message = "用户名或者密码不能为空!" } } ; using (MD5 md5Hash = MD5.Create()) { password = GetMd5Hash(md5Hash, password); } var response = _userAppService.GetUserByNamePwd(name, password); if (response.Code != 200) { return new ResponseDto { Code = 500, Message = "找不到用户信息!" } } ; string jwtStr = string.Empty; bool suc = false; TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.Uid = response.Data.Id; tokenModel.Role = response.Data.Name; jwtStr = JwtHelper.IssueJwt(tokenModel); suc = true; return(new ResponseDto { Code = 200, Data = jwtStr }); }
public async Task <IActionResult> Login([FromBody] T_WebUser userInfo) { try { bool flag = false; string jwtStr = string.Empty; if (!string.IsNullOrEmpty(userInfo.UserMail) || !string.IsNullOrEmpty(userInfo.UserPwd)) { //userInfo.uPassWord = CryptographyHelper.DESEncrypt(userInfo.uPassWord, encryptionKey, encryptionIv);//加密 var userinfo = await webUserService.Query(u => u.UserMail == userInfo.UserMail && u.UserPwd == userInfo.UserPwd); //if (userinfo.Count > 0) //{ // HttpContext.Session.SetString("UserName", userInfo.uUserName); // flag = 1; //} TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = userInfo.UserMail }; jwtStr = JwtHelper.IssueJwt(tokenModel);//登录,获取到一定规则的 Token 令牌 flag = true; } else { jwtStr = "login fail!!!"; } return(Ok(new { success = flag, token = jwtStr })); } catch (Exception ex) { // loggerHelper.Error("UserInfoesController.Login", "异常位置:UserInfoesController.Login" + "异常消息:" + ex.Message); return(Ok(new { success = false, message = ex.Message })); } }
/// <summary> /// 颁发JWT字符串 /// </summary> /// <param name="tokenModel"></param> /// <returns></returns> public static string IssueJWT(TokenModelJwt tokenModel) { var dateTime = DateTime.UtcNow; //var claims = new Claim[] //{ // new Claim(JwtRegisteredClaimNames.Jti,tokenModel.Uid.ToString()),//Id // new Claim("Role", tokenModel.Role),//角色 // new Claim(JwtRegisteredClaimNames.Iat,$"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddSeconds(10)).ToUnixTimeSeconds()}"); //}; var claims = new Claim[] { //下边为Claim的默认配置 new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(JwtRegisteredClaimNames.Iat, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Nbf, $"{new DateTimeOffset(DateTime.Now).ToUnixTimeSeconds()}"), //这个就是过期时间,目前是过期100秒,可自定义,注意JWT有自己的缓冲过期时间 new Claim(JwtRegisteredClaimNames.Exp, $"{new DateTimeOffset(DateTime.Now.AddSeconds(overdueTime)).ToUnixTimeSeconds()}"), new Claim(JwtRegisteredClaimNames.Iss, "Base.Core"), new Claim(JwtRegisteredClaimNames.Aud, "wr"), //这个Role是官方UseAuthentication要要验证的Role,我们就不用手动设置Role这个属性了 new Claim(ClaimTypes.Role, tokenModel.Role), }; //秘钥 var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(JwtHelper.secretKey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var jwt = new JwtSecurityToken( issuer: "Base.Core", claims: claims, signingCredentials: creds); var jwtHandler = new JwtSecurityTokenHandler(); var encodedJwt = jwtHandler.WriteToken(jwt); return(encodedJwt); }
public ActionResult GetJWTToken(UserSearchViewModel userSearchViewModel) { string jwtStr = string.Empty; bool suc = false; //这里就是用户登陆以后,通过数据库去调取数据,分配权限的操作 //这里直接写死了 //if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(pass)) //{ // return new JsonResult(new // { // Status = false, // message = "用户名或密码不能为空" // }); //} var SearchResult = _userService.User_Search(userSearchViewModel); var Actionresult = _userFactory.GetUserSearchResViewModel(); if (SearchResult == 1) { Actionresult.baseViewModel.IsSuccess = true; Actionresult.Data = SearchResult; Actionresult.baseViewModel.Message = "查询信息成功"; Actionresult.baseViewModel.ResponseCode = 200; _ILogger.Information("查询信息成功"); TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.Uid = 2; tokenModel.Role = "Admin"; jwtStr = JwtHelper.IssueJwt(tokenModel); Actionresult.token = jwtStr; return(Ok(Actionresult)); } else { Actionresult.baseViewModel.IsSuccess = false; Actionresult.Data = SearchResult; Actionresult.baseViewModel.Message = "查询信息失败"; Actionresult.baseViewModel.ResponseCode = 200; _ILogger.Information("查询信息失败"); return(Ok(Actionresult)); } }
public void Get(string callback) { TokenModelJwt tokenModelJwt = new TokenModelJwt() { Role = "jsonp", Uid = 1, Work = "dsdf" }; var rng = new Random(); var date = Enumerable.Range(1, 5).Select(index => new WeatherForecast { Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] }); var modlestr = JsonConvert.SerializeObject(date); string call = callback + "(" + modlestr + ")"; Response.WriteAsync(call); }
public async Task <IActionResult> Login(LoginViewModel model) { //判断账号密码是否正确 var userId = await _userService.Login(model); if (userId == Guid.Empty) { return(Ok("账号或密码错误!")); } //登录成功进行jwt加密 var user = await _userService.GetOneByIdAsync(userId); TokenModelJwt tokenModel = new TokenModelJwt { UserId = user.Id, Level = user.Level.ToString() }; var jwtStr = JwtHelper.JwtEncrypt(tokenModel); return(Ok(jwtStr)); }
public async Task <object> GetJwtStr(string name, string pass) { var userinfo = await _userInfoServices.Query(u => u.USER_LOGIN_NAME == name && u.USER_PASSWORD == pass); if (userinfo.Count == 1) { string jwtStr = string.Empty; bool suc = false; // 获取用户的角色名,请暂时忽略其内部是如何获取的,可以直接用 var userRole="Admin"; 来代替更好理解。 var userRole = "Admin";//await _sysUserInfoServices.GetUserRoleNameStr(name, pass); if (userRole != null) { // 将用户id和角色名,作为单独的自定义变量封装进 token 字符串中。 TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = userRole }; jwtStr = JwtHelper.IssueJwt(tokenModel);//登录,获取到一定规则的 Token 令牌 suc = true; } else { jwtStr = "login fail!!!"; } return(Ok(new { success = suc, token = jwtStr })); } else { return(BadRequest(new { success = false, errorcode = 400, message = "当前用户不存在,请先注册用户!" })); } }
public IActionResult GetJwtStr(string name, string pass) { string jwtStr = string.Empty; bool suc = false; // 获取用户的角色名,请暂时忽略其内部是如何获取的,可以直接用 var userRole="Admin"; 来代替更好理解。 string userRole = ""; // await _sysUserInfoServices.GetUserRoleNameStr(name, pass); if (name.ToLower() == "admin") { userRole = "Admin"; } else if (name.ToLower() == "System") { userRole = "System"; } else if (name.ToLower() != "") { userRole = "User"; } if (userRole != "") { // 将用户id和角色名,作为单独的自定义变量封装进 token 字符串中。 TokenModelJwt tokenModel = new TokenModelJwt { Uid = 1, Role = userRole }; jwtStr = JwtHelper.IssueJwt(tokenModel);//登录,获取到一定规则的 Token 令牌 suc = true; } else { jwtStr = "login fail!!!"; } return(Ok(new { success = suc, token = jwtStr })); }
public IActionResult 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" }; return(Ok(JwtHelper.IssueJwt(tokenModel))); } else { return(BadRequest("login fail!!!")); } }
public async Task <Unit> Handle(UserLoginCommand request, CancellationToken cancellationToken) { if (!request.IsValid()) { // 错误信息收集 NotifyValidationErrors(request); // 返回,结束当前线程 await _Bus.RaiseEvent(new DomainNotification("Sucess", "false")); return(await Task.FromResult(new Unit())); } var model = await _UserRepository.GetModelAsync(u => u.Name == request.UserName && u.Password == Encrypt.EncryptPassword(request.Password)); if (model != null) { var role = await _RoleManngeRepository.GetModelAsync(u => u.Id == (model.Id)); if (role != null) { TokenModelJwt t = new TokenModelJwt { Role = role.RoleName, Uid = ((role.Id)), Name = model.Name, }; var token = _JwtInterface.IssueJwt(t); await _Bus.RaiseEvent(new DomainNotification("Sucess", "true")); await _Bus.RaiseEvent(new DomainNotification("data", token)); return(await Task.FromResult(new Unit())); } } await _Bus.RaiseEvent(new DomainNotification("Sucess", "false")); await _Bus.RaiseEvent(new DomainNotification("data", "登录失败")); return(await Task.FromResult(new Unit())); }
public dynamic GetJwtStr(string loginName, string passWord) { string jwtStr = string.Empty; bool status = false; if (loginName == "Admin") { TokenModelJwt tokenModel = new TokenModelJwt() { Uid = 1, Role = "Admin", Work = "管理员" }; jwtStr = JwtHelper.GetJwtToken(tokenModel); status = true; } else { jwtStr = "验证失败!"; } return(Ok(new { success = status, data = jwtStr })); }
/// <summary> /// 解析 /// </summary> /// <param name="jwtStr"></param> /// <returns></returns> public static TokenModelJwt SerializeJwt(string jwtStr) { var jwtHandler = new JwtSecurityTokenHandler(); JwtSecurityToken jwtToken = jwtHandler.ReadJwtToken(jwtStr); object role; try { jwtToken.Payload.TryGetValue(ClaimTypes.Role, out role); } catch (Exception e) { Console.WriteLine(e); throw; } var tm = new TokenModelJwt { Uid = (jwtToken.Id).ObjToInt(), Role = role != null?role.ObjToString() : "", }; return(tm); }
public async Task <MessageModel <object> > Login(string loginname, string password) { if (!string.IsNullOrEmpty(loginname) && !string.IsNullOrEmpty(password)) { //校验用户名、密码 var pwd = password.ToMd5_32(); var users = await _services.QueryAsync(it => it.Loginname == loginname && it.Password == pwd && it.Enable); if (users.Any()) { var user = users[0]; var tokenModelJwt = new TokenModelJwt() { Uid = user.Id, Role = user.Name }; var jwtStr = IssueJwt(tokenModelJwt); return(MessageModel <object> .Success(jwtStr)); } } return(new MessageModel <object>(HttpStatusEnum.PermissionNoAccess)); }
public async Task <object> GetJwtStr(string name, string pass) { string jwtStr = String.Empty; bool suc = false; if (name == "admins" && pass == "admins") { TokenModelJwt tokenModel = new TokenModelJwt(); tokenModel.Uid = 1; tokenModel.Role = "Admin"; jwtStr = JwtHelper.IssueJwt(tokenModel); suc = true; } else { jwtStr = "Login Fail!!"; } var result = new { data = new { success = suc, token = jwtStr } }; return(Json(result)); }
static async Task Main(string[] args) { string jwt = JwtHelper.IssueJwt(new TokenModelJwt() { Uid = 1, Role = "admin" }); Console.WriteLine(jwt); TokenModelJwt modelJwt = JwtHelper.SerializeJwt(jwt); Console.WriteLine(modelJwt.Uid); Console.WriteLine(modelJwt.Role); //IUserService service = new UserService(new UserRepository(new UnitWork(new StudentScoreContext()))); //long id = await service.Add(new Users() //{ // Account = "123456", // Password = "******", //}); //IRoleService roleService = new RoleService(new RoleRepository(new UnitWork(new StudentScoreContext()))); //long roleId = await roleService.Add(new Roles() //{ // RoleName = "admin" //}); //IUserRoleService userRoleService = new UserRoleService(new UserRoleRepository(new UnitWork(new StudentScoreContext()))); //long userRoleId = await userRoleService.Add(new UserRole() //{ // RoleId = 1, // UserId = 1 //}); //Console.WriteLine(id); //Console.WriteLine(roleId); //Console.WriteLine(userRoleId); //IStudentInfoService service = new StudentInfoService(new StudentInfoRepository()); //var task = await service.Add(new StudentInfo(){ // Name = "wangwu", // StudentNumber = "1456984", // Sex = '女', // Age = 19, // ReportCard = new ReportCard() // { // Chinese = 88, // Math = 99, // English = 89 // }, // AllStudentClass = new AllStudentClass() // { // Grades = "大二3班" // } //}); //Console.WriteLine(task); //IStudentInfoRepository repositoryBase = new StudentInfoRepository(); //var allBase = repositoryBase.QueryAll().ToList(); //foreach (StudentInfo info in allBase) //{ // Console.WriteLine(info.Name); //} //long add = await repositoryBase.Add(new StudentInfo() //{ // Name = "汪大椎", // StudentNumber = "1236522289", // Sex = '男', // Age = 30, // ReportCardID = 2, // StudentClassID = 2 //}); //Console.WriteLine("标记"+add); //bool update = await repositoryBase.Update(new StudentInfo() //{ // ID = 7, // Name = "汪大椎", // StudentNumber = "1236522289", // Sex = '男', // Age = 40, // ReportCardID = 1, // StudentClassID = 1 //}); //Console.WriteLine(update); //var byId = await repositoryBase.DeleteById(7); //bool byId = await repositoryBase.DeleteByObj(new StudentInfo() //{ // ID = 7, // Name = "汪大椎", //}); //Console.WriteLine(byId); //var byId = await repositoryBase.QueryById(1); //Console.WriteLine(byId); }
public ActionResult Get1231232(int id, String token) { TokenModelJwt aa = JwtHelper.SerializeJwt(token); return(Ok("value")); }
public MessageModel GetNavigationBar() { var authorization = HttpContext.Request.Headers["Authorization"]; if (string.IsNullOrWhiteSpace(authorization) || authorization.ToString() == "") { _msg.Success = false; _msg.Message = "没有token,您还没有权限"; return(_msg); } string jwtstr = authorization.ToString().Replace("Bearer ", ""); TokenModelJwt token = JwtHelper.SerializeJwt(jwtstr); Enum.TryParse <RoleHelper.Roletype>(token.Role, out RoleHelper.Roletype roletype); int roleId = (int)roletype; Roles model = _rolesService.GetModel(a => a.Id == roleId); if (model != null) { var menusIds = model.Menus.Split(','); List <Menus> menulist = new List <Menus>(); foreach (string item in menusIds) { var m = _menuservice.GetModel(a => a.Id == int.Parse(item)); if (m != null) { menulist.Add(m); } } List <NavigationBar> all = new List <NavigationBar>(); all = menulist.Select(child => new NavigationBar { id = child.Id, name = child.MenuName, pid = child.Fid, order = 1, path = child.MenuUrl, meta = new NavigationBarMeta { requireAuth = true, title = child.MenuName, NoTabPage = true } }).ToList(); //这时,所有角色所对应 菜单列表已经出来 NavigationBar rootRoot = new NavigationBar() { id = 0, pid = 0, order = 0, name = "根节点", path = "", iconCls = "", meta = new NavigationBarMeta(), }; Recursion(all, rootRoot); _msg.Response = rootRoot; } _msg.Success = true; _msg.Message = "路由节点获取成功!"; return(_msg); }
public async Task <object> GetToke([FromBody] LoginViewModel model) { string JwtStr = string.Empty; bool success = false; if (string.IsNullOrEmpty(model.UserName) || string.IsNullOrEmpty(model.UserPwd)) { return("userName or password invalid"); } else { User user = await _userRepository.IsExitsAccount(new User { UserName = model.UserName, Pwd = MD5Tool.Encrypt(model.UserPwd) }); if (user.UserName != model.UserName) { return(Ok(new { jwt = "", userName = model.UserName, msg = "userName or password Error!!!", success = success }));; } else { TokenModelJwt tokenModelJwt = new TokenModelJwt { Uid = 1, Role = user.RealName }; //得到Token JwtStr = TokenManager.IssueJwt(tokenModelJwt); success = true; return(Ok(new { jwt = JwtStr, userName = user.RealName, msg = "pass", success = success })); } } ////角色需从DB中查询得到 //var userRole = "Admin"; //if (userRole != null) //{ // TokenModelJwt tokenModelJwt = new TokenModelJwt { Uid = 1, Role = userRole }; // //得到Token // JwtStr = TokenManager.IssueJwt(tokenModelJwt); // success = true; //} //return Ok(new //{ // jwt = JwtStr, // userName="******", // success = success //}) ; }
public async Task <object> GetJwtToken(TokenModelJwt model) { var jwtStr = JWTHelper.IssueJwt(model); return(Ok(new { code = "200", jwt = jwtStr })); }