public void CheckLogin(RequestContext requestContext, string productCode) { try { string requiredString = requestContext.RouteData.GetRequiredString("controller"); string requiredString2 = requestContext.RouteData.GetRequiredString("action"); string accessingResource = "/" + requiredString + "/" + requiredString2; if (!accessingResource.Contains("/Shared/UnActived")) { if (Authentication.today == null || Authentication.today != DateTime.Now.Day) { SerialKey serialKey = new SerialKey(); ModelCheckKey modelCheckKey = serialKey.CheckActive(productCode, System.Web.Hosting.HostingEnvironment.MapPath("~/bin")); Authentication.today = DateTime.Now.Day; if (!modelCheckKey.checkResult && !accessingResource.Equals("/OutOfDate")) { requestContext.HttpContext.Response.Redirect("/OutOfDate"); Authentication.Check = false; } else { Authentication.Check = true; } } else if (Authentication.today == DateTime.Now.Day && !Authentication.Check) { requestContext.HttpContext.Response.Redirect("/OutOfDate"); } } if (accessingResource.Equals("/Shared/UnActived")) { base.Initialize(requestContext); } else { RouteValueDictionary defaults = ((Route)requestContext.RouteData.Route).Defaults; if (defaults != null) { List <object> list = defaults.Values.ToList <object>(); Authentication.DefaultPage = "/" + list[0].ToString() + "/" + list[1].ToString(); } if (this.UserContext == null) { if (!requiredString.Equals("Authenticate")) { if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request)) { requestContext.HttpContext.Response.StatusCode = 401; requestContext.HttpContext.Response.End(); } else { requestContext.HttpContext.Response.Redirect("/Authenticate/Login?Url=" + accessingResource); } } else { base.Initialize(requestContext); } } else { if ((requiredString.Equals("Authenticate") && requiredString2.Equals("Login")) || requiredString.Equals("UploadFile") || (requiredString.Equals("Authenticate") && requiredString2.Equals("Validate"))) { base.Initialize(requestContext); } else { if (!requiredString.Equals("Error") && !requiredString2.Equals("Logout")) { bool arg_212_0; if (this.UserContext.Permissions != null) { arg_212_0 = (( from c in this.UserContext.Permissions where c.Trim().ToLower().Equals(accessingResource.Trim().ToLower()) select c).FirstOrDefault <string>() != null); } else { arg_212_0 = false; } if (!arg_212_0) { if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request)) { Authentication.isAuthenticate = false; this.JsonDataResult.Result = "ERROR"; this.JsonDataResult.ErrorMessages.Add(new Error() { MemberName = "Lỗi quyền truy cập", Message = "Tài khoản của bạn không có quyền thực hiện hành động này!." }); base.Initialize(requestContext); } else { requestContext.HttpContext.Response.Redirect("~/Error/Index?ErrorType=1"); } } else { if (AjaxRequestExtensions.IsAjaxRequest(requestContext.HttpContext.Request)) { Authentication.isAuthenticate = true; } base.Initialize(requestContext); } } else { base.Initialize(requestContext); } } } } } catch { } }
static void Main() { try { SerialKey serialKey = new SerialKey(); // ModelStatic.dateCheckActive = DateTime.Now.Date; ModelCheckKey modelCheckKey = serialKey.CheckActive("GPRO_QMS", Application.StartupPath); if (modelCheckKey != null) { if (!modelCheckKey.checkResult) { // if (!string.IsNullOrEmpty(modelCheckKey.message)) // MessageBox.Show(modelCheckKey.message); // else MessageBox.Show("Phần mềm QMS đã hết hạn sử dụng.\nQuý khách vui lòng liên hệ theo Hotline : Võ Đại Trí 0918319714 hoặc Email : [email protected] để được tư vấn và kích hoạt sử dụng.\nXin cám ơn quý khách.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } else { if (!string.IsNullOrEmpty(modelCheckKey.message)) { MessageBox.Show(modelCheckKey.message); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); QMSAppInfo.Version = (ConfigurationManager.AppSettings["AppVersion"] != null && !string.IsNullOrEmpty(ConfigurationManager.AppSettings["AppVersion"].ToString()) ? Convert.ToInt32(ConfigurationManager.AppSettings["AppVersion"].ToString()) : 1); try { switch (QMSAppInfo.Version) { case 1: Application.Run(new frmMain()); break; case 3: Application.Run(new frmMain_ver3()); break; default: Application.Run(new frmMain()); break; } } catch (Exception ex) { string errorsms = "Kết nối máy chủ SQL thất bại. Vui lòng kiểm tra lại."; MessageBox.Show(errorsms + "- " + ex.Message, "Lỗi SQL", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Run(new FrmSQLConnect()); } Process[] processe; processe = Process.GetProcessesByName("QMS_System"); foreach (Process dovi in processe) { dovi.Kill(); } } } else { MessageBox.Show("Phần mềm QMS chưa được kích hoạt sử dụng.\nQuý khách vui lòng liên hệ theo Hotline : Võ Đại Trí 0918319714 hoặc Email : [email protected] để được tư vấn và kích hoạt sử dụng.\nXin cám ơn quý khách.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); } } catch (Exception ex) { MessageBox.Show("lỗi khác" + ex.Message); throw ex; } }