public LoginResult Login([FromBody] LoginModel model) { var result = new LoginResult(); if (dict.TryGetValue(model.Account, out User user)) { if (user.Password == model.Password) { var info = new VerifyInfo() { Account = user.Name, CreateTime = DateTime.Now, Id = user.Id.ToString(), Key = Guid.NewGuid().ToString("N"), Name = model.Account, Roles = new string[] { user.Role } }; var token = authorizeModule.CreateAuthorization(info); result.Token = token; result.Result = 1; result.Message = "ok"; } else { result.Result = 0; result.Message = "password error"; } } else { result.Result = 0; result.Message = "user error"; } return(result); }
/// <summary> /// 资源校验器轮询。 /// </summary> /// <param name="elapseSeconds">逻辑流逝时间,以秒为单位。</param> /// <param name="realElapseSeconds">真实流逝时间,以秒为单位。</param> public void Update(float elapseSeconds, float realElapseSeconds) { if (!m_LoadReadWriteVersionListComplete) { return; } int length = 0; while (m_VerifyResourceIndex < m_VerifyInfos.Count) { VerifyInfo verifyInfo = m_VerifyInfos[m_VerifyResourceIndex]; length += verifyInfo.Length; if (VerifyResource(verifyInfo)) { m_VerifyResourceIndex++; if (ResourceVerifySuccess != null) { ResourceVerifySuccess(verifyInfo.ResourceName, verifyInfo.Length); } } else { m_FailureFlag = true; m_VerifyInfos.RemoveAt(m_VerifyResourceIndex); if (ResourceVerifyFailure != null) { ResourceVerifyFailure(verifyInfo.ResourceName); } } if (length >= m_VerifyResourceLengthPerFrame) { return; } } m_LoadReadWriteVersionListComplete = false; if (m_FailureFlag) { GenerateReadWriteVersionList(); } if (ResourceVerifyComplete != null) { ResourceVerifyComplete(!m_FailureFlag); } }
private bool VerifyResource(VerifyInfo verifyInfo) { if (verifyInfo.UseFileSystem) { IFileSystem fileSystem = m_ResourceManager.GetFileSystem(verifyInfo.FileSystemName, false); string fileName = verifyInfo.ResourceName.FullName; FileSystem.FileInfo fileInfo = fileSystem.GetFileInfo(fileName); if (!fileInfo.IsValid) { return(false); } int length = fileInfo.Length; if (length == verifyInfo.Length) { m_ResourceManager.PrepareCachedStream(); fileSystem.ReadFile(fileName, m_ResourceManager.m_CachedStream); m_ResourceManager.m_CachedStream.Position = 0L; int hashCode = 0; if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromMemoryAndDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndDecrypt) { Utility.Converter.GetBytes(verifyInfo.HashCode, m_CachedHashBytes); if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndQuickDecrypt) { hashCode = Utility.Verifier.GetCrc32(m_ResourceManager.m_CachedStream, m_CachedHashBytes, Utility.Encryption.QuickEncryptLength); } else if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndDecrypt) { hashCode = Utility.Verifier.GetCrc32(m_ResourceManager.m_CachedStream, m_CachedHashBytes, length); } Array.Clear(m_CachedHashBytes, 0, CachedHashBytesLength); } else { hashCode = Utility.Verifier.GetCrc32(m_ResourceManager.m_CachedStream); } if (hashCode == verifyInfo.HashCode) { return(true); } } fileSystem.DeleteFile(fileName); return(false); } else { string resourcePath = Utility.Path.GetRegularPath(Path.Combine(m_ResourceManager.ReadWritePath, verifyInfo.ResourceName.FullName)); if (!File.Exists(resourcePath)) { return(false); } using (FileStream fileStream = new FileStream(resourcePath, FileMode.Open, FileAccess.Read)) { int length = (int)fileStream.Length; if (length == verifyInfo.Length) { int hashCode = 0; if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromMemoryAndDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndDecrypt) { Utility.Converter.GetBytes(verifyInfo.HashCode, m_CachedHashBytes); if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndQuickDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndQuickDecrypt) { hashCode = Utility.Verifier.GetCrc32(fileStream, m_CachedHashBytes, Utility.Encryption.QuickEncryptLength); } else if (verifyInfo.LoadType == LoadType.LoadFromMemoryAndDecrypt || verifyInfo.LoadType == LoadType.LoadFromBinaryAndDecrypt) { hashCode = Utility.Verifier.GetCrc32(fileStream, m_CachedHashBytes, length); } Array.Clear(m_CachedHashBytes, 0, CachedHashBytesLength); } else { hashCode = Utility.Verifier.GetCrc32(fileStream); } if (hashCode == verifyInfo.HashCode) { return(true); } } } File.Delete(resourcePath); return(false); } }
public ActionResult ManageGrid(JGridRequest packet) { try { JGridPacket p = new JGridPacket(); FilterData filter = new FilterData(); if (packet.Data != null) { filter = JsonConvert.DeserializeObject <FilterData>(packet.Data.ToString()); if (packet.RequestType == "ShowEdit" || packet.RequestType == "Update") { if (filter.OverrideModel != null && packet.IsOverride == true) { packet.ModelName = filter.OverrideModel; } } } if (packet.RequestType == "Show") { //packet.ModelName = packet.ModelName.Contains("View") == true ? packet.ModelName : packet.ModelName + "View"; if (!packet.IsOverride) { packet.ModelName = packet.ModelName.Contains("View") == true ? packet.ModelName : packet.ModelName + "View"; } } Assembly[] asm = AppDomain.CurrentDomain.GetAssemblies().Where(x => x.FullName.Contains("BDCO")).ToArray(); Type item = null; for (int i = 0; i < asm.Length; i++) { item = asm[i].GetTypes().Where(x => x.Name == packet.ModelName).FirstOrDefault(); if (item != null) { break; } } var jgridType = typeof(JGridHelper <>); var jgridObject = jgridType.MakeGenericType(item); var obj = Activator.CreateInstance(jgridObject); switch (packet.RequestType) { case "Show": p.Record = MethodInvoker("ShowList", obj, new object[] { new QuerySelector().getSelector(packet) }); break; case "Insert": p.Record = MethodInvoker("Insert", obj, new object[] { packet, asm, item }); break; case "Update": var requestDataDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(packet.Data); requestDataDictionary.Add("ModifiedBy", User.CurrentUserID()); requestDataDictionary.Add("ModificationDate", DateTime.Now.ToString()); packet.Data = JsonConvert.SerializeObject(requestDataDictionary); p.Record = MethodInvoker("EditDelete", obj, new object[] { 1, packet, asm, User.CurrentUserID() }); break; case "Delete": p.Record = MethodInvoker("EditDelete", obj, new object[] { 2, packet, asm, User.CurrentUserID() }); break; case "VerifyInfo": var pk = _utility.GetPrimaryKeyInfo(item); var verifyInfo = new VerifyInfo(); jgridObject = jgridType.MakeGenericType(verifyInfo.GetType()); obj = Activator.CreateInstance(jgridObject); var jsonVerifiyInfo = MethodInvoker("GetVerifyInfo", obj, new object[] { packet, pk.Name }); return(Json(new { success = true, Data = jsonVerifiyInfo }, JsonRequestBehavior.AllowGet)); case "Verify": var requestSourceDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(packet.Data); if (requestSourceDictionary.ContainsKey("IsVerified")) { if (requestSourceDictionary.FirstOrDefault(x => x.Key == "IsVerified").Value.ToString() == "2") { SendPushMessage(); } } var user = User.CurrentUserID() == 0 ? 0 : User.CurrentUserID(); var userName = User.DisplayName() == "" ? "" : User.DisplayName(); requestSourceDictionary.Add("VerifiedBy", user); requestSourceDictionary.Add("VerificationDate", DateTime.Now); packet.Data = JsonConvert.SerializeObject(requestSourceDictionary); p.Record = MethodInvoker("EditDelete", obj, new object[] { 1, packet, asm, User.CurrentUserID() }); return(Json(new { success = true, Data = "Verification Successful", VerifierName = userName, VerificationDate = DateTime.Now }, JsonRequestBehavior.AllowGet)); case "Export": break; case "ShowEdit": //packet.ControllerName = "EsFollowUp"; var json = MethodInvoker("Show", obj, new object[] { packet }); string viewName = packet.ControllerName != "QB" ? packet.ModelName : packet.ControllerName; var html = RenderRazorViewToString("~/Views/" + packet.ControllerName + "/" + viewName + ".cshtml").Trim(); return(Json(new { success = true, json, html }, JsonRequestBehavior.AllowGet)); case "ShowCreate": html = RenderRazorViewToString("~/Views/" + packet.ControllerName + "/" + packet.ModelName + ".cshtml").Trim(); return(Json(new { success = true, html }, JsonRequestBehavior.AllowGet)); case "Map": List <MapJson> lst = new List <MapJson>(); lst.Add(new MapJson() { Id = 4, Location = "GMP 1 (1-Dec-2018)", Latitude = "23.7491206", Longitude = "90.3602757" }); lst.Add(new MapJson() { Id = 5, Location = "GMP 2 (1-Jan-2019)", Latitude = "23.7478959", Longitude = "90.3629236" }); lst.Add(new MapJson() { Id = 3, Location = "GMP 3 (1-Feb-2019)", Latitude = "23.7489088", Longitude = "90.3649791" }); lst.Add(new MapJson() { Id = 2, Location = "GMP 4 (1-Mar-2019)", Latitude = "23.7477852", Longitude = "90.3629741" }); lst.Add(new MapJson() { Id = 1, Location = "GMP 5 (1-Apr-2019)", Latitude = "23.7390734", Longitude = "90.3609762" }); return(Json(new { success = true, Data = lst }, JsonRequestBehavior.AllowGet)); case "Chart": var jsonData = MethodInvoker("ChartData", obj, new object[] { new ChartSelector().getSelector(packet) }); return(Json(new { success = true, Data = jsonData }, JsonRequestBehavior.AllowGet)); } return(Json(new { success = true, Data = p }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { success = false, Data = ex.Message }, JsonRequestBehavior.AllowGet)); } }