private void menuSystemLogin_Click(object sender, EventArgs e) { CurrentLoginUser.getInctance().delete(); Process.Start(@"MainProgram.exe"); m_isExitQuestion = false; Application.Exit(); }
// GET: First /// <summary> /// 在此右键添加视图,会在View下自动生成视图文件 /// </summary> /// <returns></returns> public ActionResult Index(int id = 3) { //base.HttpContext.Session //System.Web.Mvc.WebViewPage CurrentLoginUser currentUser = this._UserList.FirstOrDefault(u => u.Id == id) ?? this._UserList[0]; base.ViewData["CurrentUserViewData"] = this._UserList[0]; //ViewData base.ViewBag.CurrentUserViewBag = this._UserList[1]; //ViewBag base.ViewData["TestProp"] = "cx"; base.ViewBag.TestProp = "Tenk"; base.TempData["TestProp"] = "Spider";//独立存储 base.TempData["CurrentUserTempData"] = currentUser; if (id == 1 || id == 2 || id == 3) { return(View(this._UserList[2])); } else if (id < 10) { return(View("~/Views/First/Index1.cshtml")); } else { return(base.RedirectToAction("TempDataShow")); } }
private void FormMain_Load(object sender, EventArgs e) { //检测系统是否已经注册为正版 if (!DbPublic.getInctance().isGenuineSoftware()) { this.Text = this.Text + "(试用版)"; } else { // 如果已注册为正版,检测当初注册时硬盘序列号和本次启动机器硬盘序列号是否相同,如果相同则视为正常,否则视同一序列号多人使用 if (DbPublic.getInctance().getRegisterSoftwareKey() != SettlmentWay.getInctance().getSoftwareKey()) { MessageBoxExtend.messageWarning("同一软件序列号涉嫌多单位使用,程序将立即退出。\n如需继续使用该系统,请联系软件供应商。"); CurrentLoginUser.getInctance().delete(); Process.GetCurrentProcess().Kill(); } } // 当系统未被初始化时,单据菜单、序时簿菜单不能显示 this.menuBill.Visible = InitSubSystemSign.getInctance().isFinancialSystemInit() && InitSubSystemSign.getInctance().isBusinessSystemInit(); this.menuSquence.Visible = InitSubSystemSign.getInctance().isFinancialSystemInit() && InitSubSystemSign.getInctance().isBusinessSystemInit(); // 左侧功能按钮初始化 LoadFunctionZone(); this.WindowState = FormWindowState.Maximized; // 更新状态栏信息 string statusBarText = DbPublic.getInctance().getCurrentDateStage(); statusBarText += " "; statusBarText += "用户:" + DbPublic.getInctance().getCurrentLoginUserName(); this.toolStripStatusLabel.Text = statusBarText; }
/// <summary> /// 用户注销 /// </summary> /// <param name="context"></param> public static void UserLogout(this HttpContextBase context) { #region Cookie HttpCookie myCookie = context.Request.Cookies["CurrentUser"]; if (myCookie != null) { myCookie.Expires = DateTime.Now.AddMinutes(-1);//退出时设置Cookie过过期 context.Response.Cookies.Add(myCookie); } #endregion Cookie #region Session var sessionUser = context.Session["CurrentUser"]; if (sessionUser != null && sessionUser is CurrentLoginUser) { CurrentLoginUser currentUser = (CurrentLoginUser)context.Session["CurrentUser"]; logger.Debug(string.Format("用户id={0} Name={1}退出系统", currentUser.Id, currentUser.Name)); } context.Session["CurrentUser"] = null; //表示将制定的键的值清空,并释放掉, context.Session.Remove("CurrentUser"); context.Session.Clear(); //表示将会话中所有的session的键值都清空,但是session还是依然存在, context.Session.RemoveAll(); // context.Session.Abandon(); //就是把当前Session对象删除了,下一次就是新的Session了 #endregion Session }
private string GetLoginCustomer() { var userID = User.FindFirstValue(ClaimTypes.NameIdentifier); CurrentLoginUser currentLoginUser = new CurrentLoginUser(); currentLoginUser.CurrentUserID = userID; return(userID); }
private void menuSystemExit_Click(object sender, EventArgs e) { if (MessageBoxExtend.messageQuestion("确定退出系统?")) { // 更新BASE_SYSTEM_CURRENT_LOGIN_USER表 CurrentLoginUser.getInctance().delete(); m_isExitQuestion = false; Application.Exit(); } }
public async Task <IActionResult> Privacy() { var userID = User.FindFirstValue(ClaimTypes.NameIdentifier); var userName = User.FindFirstValue(ClaimTypes.Name); CustomUser user = await userManager.GetUserAsync(User); var userEmail = user.Email; CurrentLoginUser currentLoginUser = new CurrentLoginUser(); currentLoginUser.CurrentUserID = userID; currentLoginUser.CurrentUserName = userName; currentLoginUser.CurrentUserEmail = userEmail; return(View(currentLoginUser)); }
//public CustomAuthorizeAttribute(ICompanyUserService service) //{ //} //不行 public override void OnAuthorization(AuthorizationContext filterContext) { var httpContext = filterContext.HttpContext;//能拿到httpcontext 就可以为所欲为 //检验特性 if (filterContext.ActionDescriptor.IsDefined(typeof(CustomAllowAnonymousAttribute), true)) { return; } //检验特性 else if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(CustomAllowAnonymousAttribute), true)) { return; } if (httpContext.Session["CurrentUser"] == null || !(httpContext.Session["CurrentUser"] is CurrentLoginUser)) //为空了, { //这里有用户,有地址 其实可以检查权限 //如果是Ajax请求。则不能跳转到原链接,应该返回固定格式的数据 if (httpContext.Request.IsAjaxRequest()) //httpContext.Request.Headers["xxx"].Equals("XMLHttpRequst") { filterContext.Result = new NewtonJsonResult( new AjaxResult() { Result = DoResult.OverTime, DebugMessage = "登陆过期", RetValue = "" }); } else { //记录跳转前的绝对地址 httpContext.Session["CurrentUrl"] = httpContext.Request.Url.AbsoluteUri; filterContext.Result = new RedirectResult(this._LoginUrl); //短路器:指定了Result,那么请求就截止了,不会执行action } } else { CurrentLoginUser user = (CurrentLoginUser)httpContext.Session["CurrentUser"]; //this.logger.Info($"{user.Name}登陆了系统"); return;//继续 } //base.OnAuthorization(filterContext); }
private void buttonEnter_Click(object sender, EventArgs e) { if (AccessAuthorization.getInctance().passwordIsValidate(this.comboBoxUserName.Text.ToString(), this.textBoxPassword.Text.ToString(), out m_currentLoginUser)) { m_loginSuccessful = true; DbPublic.getInctance().setCurrentLoginUserName(m_currentLoginUser.staffName); DbPublic.getInctance().setCurrentLoginUserID(m_currentLoginUser.pkey); // 更新BASE_SYSTEM_CURRENT_LOGIN_USER表 CurrentLoginUser.getInctance().insert(); this.Close(); } else { MessageBoxExtend.messageWarning("密码错误,请重新输入!"); this.textBoxPassword.Text = ""; this.textBoxPassword.Focus(); } }
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) { if (m_isExitQuestion) { if (MessageBoxExtend.messageQuestion("确定退出系统?")) { // 更新BASE_SYSTEM_CURRENT_LOGIN_USER表 CurrentLoginUser.getInctance().delete(); e.Cancel = false; } else { e.Cancel = true; } } else { // 更新BASE_SYSTEM_CURRENT_LOGIN_USER表 CurrentLoginUser.getInctance().delete(); } }
private static Logger logger = new Logger(typeof(UserManager)); //Logger.CreateLogger(typeof(UserManager)); /// <summary> /// 用户登录验证 /// </summary> /// <param name="name"></param> /// <param name="password"></param> /// <param name="verifyCode"></param> /// <returns></returns> public static LoginResult Login(this HttpContextBase context, string name, string password, string verifyCode) { if (context.Session["CheckCode"] != null && !string.IsNullOrWhiteSpace(context.Session["CheckCode"].ToString()) && context.Session["CheckCode"].ToString().Equals(verifyCode, StringComparison.CurrentCultureIgnoreCase)) { using (IAcountService servcie = DIFactory.GetContainer().Resolve <IAcountService>()) { Acount user = servcie.Set <Acount>().FirstOrDefault(u => u.name.Equals(name) || u.account.Equals(name));//账号查找 if (user == null) { return(LoginResult.NoUser); } //else if (!user.password.Equals(MD5Encrypt.Encrypt(password))) else if (!user.password.Equals(password)) { return(LoginResult.WrongPwd); } //else if (user.State == 1) //{ // return LoginResult.Frozen; //} else { //登录成功 写cookie session CurrentLoginUser currentUser = new CurrentLoginUser() { Id = user.id, Name = user.name, Account = user.account, Email = user.email, Password = user.password, LoginTime = DateTime.Now }; //都是asp.net解析的 #region Request //context.Request.Headers["User-Agent"]; //context.Request["Refer"]; //context.Request //Request 获取请求个各种参数, //Header里面的各种信息 //InputStream上传的文件 #endregion #region Response //context.Response //Response响应的 跨域、压缩、缓存、cookie、output + contentType #endregion #region Application context.Application.Lock(); //ASP.NET 应用程序内的多个会话和请求之间共享信息 context.Application.Lock(); //操作之前加锁 context.Application.Add("try", "die"); context.Application.UnLock(); object aValue = context.Application.Get("try"); aValue = context.Application["try"]; context.Application.Remove("命名对象"); context.Application.RemoveAt(0); context.Application.RemoveAll(); context.Application.Clear(); #endregion #region Items context.Items["123"] = "123";//单一会话,不同环境都可以用,比如在httpmodule获取到的信息,想传递给action;随着context释放 #endregion #region Server //辅助类 Server string encode = context.Server.HtmlEncode("<我爱我家>"); string decode = context.Server.HtmlDecode(encode); string physicalPath = context.Server.MapPath("/Home/Index");//只能做物理文件的映射 string encodeUrl = context.Server.UrlEncode("<我爱我家>"); string decodeUrl = context.Server.UrlDecode(encodeUrl); #endregion #region Cookie //context.Request.Cookies //HttpCookie cookie = context.Request.Cookies.Get("CurrentUser"); //if (cookie == null) //{ HttpCookie myCookie = new HttpCookie("CurrentUser"); myCookie.Value = JsonHelper.ObjectToString <CurrentLoginUser>(currentUser); myCookie.Expires = DateTime.Now.AddMinutes(5);//保存到硬盘 //5分钟后 硬盘cookie //不设置就是内存cookie--关闭浏览器就丢失 //改成过期 -1 过期 //修改cookie:不能修改,只能起个同名的cookie //myCookie.Domain//设置cookie共享域名 //myCookie.Path//指定路径能享有cookie context.Response.Cookies.Add(myCookie);//一定要输出 //} //前端只能获取name-value #endregion Cookie #region Session //context.Session.RemoveAll(); var sessionUser = context.Session["CurrentUser"]; context.Session["CurrentUser"] = currentUser; context.Session.Timeout = 3;//minute session过期等于Abandon #endregion Session logger.Debug(string.Format("用户id={0} Name={1}登录系统", currentUser.Id, currentUser.Name)); return(LoginResult.Success); } } } else { return(LoginResult.WrongVerify); } }