public PrincipalConfig LoadPrincipalConfig(String principalId) { try { if (!File.Exists(Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{principalId}.json"))) { throw new Exception($"账号为{principalId}的管理员的配置文件丢失!"); } using (var stream = new FileStream(Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{principalId}.json"), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (StreamReader reader = new StreamReader(stream)) { String json = reader.ReadToEnd(); PrincipalConfig config = JsonConvert.DeserializeObject <PrincipalConfig>(json); return(config); }; }; } catch (Exception e) { Console.WriteLine(e); throw; } }
protected ACBrLibConfig(TLib acbrlib, ACBrSessao sessao) : base(acbrlib, sessao) { Principal = new PrincipalConfig <TLib>(Parent); Sistema = new SistemaConfig <TLib>(Parent); Proxy = new ProxyConfig <TLib>(Parent); SoftwareHouse = new SoftwareHouseConfig <TLib>(Parent); Emissor = new EmissorConfig <TLib>(Parent); }
public IActionResult Delete([Required] String pId) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } Principal principal = _context.Principals.Find(pId); if (principal != null) { _context.Remove(principal); _context.SaveChanges(); String path = Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{pId}.json"); if (System.IO.File.Exists(path)) { System.IO.File.Delete(path); } return(Json(new { isOk = true, message = "删除成功! " })); } else { return(Json(new { isOk = true, message = "管理员不存在或者已被删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }
public IActionResult Update([Required] String pId, String jobId, [Required] String name, [Required] String phone, [Required] PrincipalStatus status) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } Principal principal = _context.Principals.FirstOrDefault(val => val.PrincipalId == pId); if (principal != null) { principal.JobNumber = jobId; principal.Name = name; principal.Phone = phone; principal.PrincipalStatus = status; _context.SaveChanges(); return(Json(new { isOk = true, message = "修改成功!" })); } else { return(Json(new { isOk = false, message = "管理员不存在或者已被删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }
public JsonResult Person([Required] String pId) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } var val = _context.Principals.FirstOrDefault(p => p.PrincipalId == pId); if (val != null) { return(Json(new { isOk = false, message = $"加载成功", id = val.PrincipalId, jobId = val.JobNumber, name = val.Name, status = val.PrincipalStatus == PrincipalStatus.Normal ? "正常" : val.PrincipalStatus == PrincipalStatus.Ban ? "禁止" : "超级管理员", phone = val.Phone })); } else { return(Json(new { isOk = false, message = $"用户不存在或者已经被删除!。 " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }
public IActionResult Reset([Required] String pId) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } Principal principal = _context.Principals.Find(pId); if (principal != null) { principal.Password = _encryption.EncodeByRsa(_encryption.EncodeByMd5(_encryption.EncodeByMd5("123456"))); _context.SaveChanges(); return(Json(new { isOk = true, message = "重置完毕! " })); } else { return(Json(new { isOk = false, message = "管理员不存在或者已被删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }
public IActionResult Status([Required] String pId, [Required] Boolean status) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } Principal principal = _context.Principals.Find(pId); if (principal != null) { principal.PrincipalStatus = status ? PrincipalStatus.Normal : PrincipalStatus.Ban; _context.SaveChanges(); return(Json(new { isOk = false, message = $"操作成功! " })); } else { return(Json(new { isOk = false, message = $"管理员不存在或者已经删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。导致改变用户状态失败 " })); } }
public PrincipalConfig GetLoginUserConfig(HttpContext httpContext) { try { LoginUserModel user = GetLoginUserModel(httpContext); if (user == null) { throw new Exception("用户尚未登录成功!"); } PrincipalConfig setting = _config.LoadPrincipalConfig(user.UserId); return(setting); } catch (Exception e) { Console.WriteLine(e); throw; } }
public IActionResult Setting([Required] String pId, [Required] String powerString) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } Principal principal = _context.Principals.Find(pId); if (principal != null) { //写入配置文件 到文件中 try { Power p = JsonConvert.DeserializeObject <Power>(powerString); PrincipalConfig config = new PrincipalConfig { PrincipalId = pId, Power = p, SettingTime = DateTime.Now }; using (var stream = new FileStream( Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{pId}.json"), FileMode.Create, FileAccess.Write, FileShare.ReadWrite)) { using (var writer = new StreamWriter(stream)) { JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings()); String jsonResult = JsonConvert.SerializeObject(config, Formatting.Indented); writer.Write(jsonResult); } } } catch (Exception e) { Console.WriteLine(e); throw; } _context.SaveChanges(); return(Json(new { isOk = true, message = $"操作成功! " })); } else { return(Json(new { isOk = false, message = $"管理员不存在或者已经删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。导致改变用户状态失败 " })); } }
public IActionResult Power([Required] String pId) { if (ModelState.IsValid) { Principal principal = _context.Principals.Find(pId); if (principal != null) { if (System.IO.File.Exists(Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{pId}.json"))) { using (var stream = new FileStream( Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{pId}.json"), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (StreamReader reader = new StreamReader(stream)) { String json = reader.ReadToEnd(); try { PrincipalConfig config = JsonConvert.DeserializeObject <PrincipalConfig>(json); return(Json(new { isOk = true, setting = config, name = principal.Name, status = principal.PrincipalStatus == PrincipalStatus.Normal, message = "管理员不存在或者已被删除! " })); } catch (Exception e) { Console.WriteLine(e); throw; } } } } else { return(Json(new { isOk = false, message = "管理员配置文件丢失! 无法使用! " })); } } else { return(Json(new { isOk = false, message = "管理员不存在或者已被删除! " })); } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }
public IActionResult Create([Required] String id, [Required] String jobId, [Required] String name, [Required] String phone, [Required] String pwd) { if (ModelState.IsValid) { PrincipalConfig principalConfig = _analysis.GetLoginUserConfig(HttpContext); if (!principalConfig.Power.SystemManager) { if (!_context.Principals.Any(p => p.PrincipalId == principalConfig.PrincipalId && p.PrincipalStatus == PrincipalStatus.Super)) { return(Json(new { isOk = false, message = "你并无系统管理操作权限" })); } } if (_context.Student.Any(stu => stu.StudentId == id)) { return(Json(new { isOk = false, message = $"编号:{id}是已经存在的学号!无法使用!" })); } if (id.Length == 12 || id.Length == 10) { return(Json(new { isOk = false, message = $"编号:{id}属于学号范围!长度不能为10位或者12位 无法使用!" })); } if (_context.Principals.Any(admin => admin.PrincipalId == id || admin.JobNumber == jobId)) { return(Json(new { isOk = false, message = $"编号:{id}或者工号{jobId} 已经使用!" })); } else { Principal principal = new Principal { PrincipalId = id, JobNumber = jobId, Name = name, Phone = phone, PrincipalStatus = PrincipalStatus.Normal, PrincipalConfig = $"{id}.json" }; String password = _encryption.EncodeByRsa(_encryption.EncodeByMd5(_encryption.EncodeByMd5(pwd))); principal.Password = password; _context.Principals.Add(principal); int result = _context.SaveChanges(); if (result == 1) { //配置权限 PrincipalConfig config = new PrincipalConfig { SettingTime = DateTime.Now, PrincipalId = id, Power = new Power() }; using (var stream = new FileStream( Path.GetFullPath($@"{_hosting.ContentRootPath}/JsonConfig/{id}.json"), FileMode.Create, FileAccess.Write, FileShare.None)) { using (var writer = new StreamWriter(stream)) { JsonSerializer serializer = JsonSerializer.Create(new JsonSerializerSettings()); String jsonResult = JsonConvert.SerializeObject(config, Formatting.Indented); writer.Write(jsonResult); } } return(Json(new { isOk = true, message = "信息插入成功" })); } else { return(Json(new { isOk = false, message = "信息插入失败" })); } } } else { return(Json(new { isOk = false, message = $"参数错误!输入了不合规范的参数。 " })); } }