/// <summary> /// 切换用户 /// </summary> /// <returns></returns> public ActionResult ChangeUser() { if (_Request == null) { _Request = Request; } if (_Response == null) { _Response = Response; } if (_Session == null) { _Session = Session; } SetRequest(_Request); UserInfo currUser = GetCurrentUser(_Request); if (currUser == null) { return(Json(new ReturnResult() { Success = false, Message = "非法操作" })); } string username = _Request["username"].ObjToStr(); if (username == "admin") { return(Json(new ReturnResult() { Success = false, Message = "没有权限" })); } Guid userId = UserOperate.GetUserIdByUserName(username); UserInfo userInfo = UserOperate.GetUserInfo(userId); if (userInfo == null) { return(Json(new ReturnResult() { Success = false, Message = "用户不存在" })); } userInfo.ClientBrowserWidth = currUser.ClientBrowserWidth; userInfo.ClientBrowserHeight = currUser.ClientBrowserHeight; CacheUserData(userInfo); //缓存cookie return(Json(new ReturnResult() { Success = true, Message = string.Empty })); }
/// <summary> /// 登录前 /// </summary> /// <param name="filterContext">过滤上下文</param> public override void OnActionExecuting(ActionExecutingContext filterContext) { try { UserInfo admin = UserOperate.GetSuperAdmin(); //获取管理员信息 string username = filterContext.ActionArguments["username"].ObjToStr(); loginLog.UserId = UserOperate.GetUserIdByUserName(username).ObjToStr(); loginLog.LoginName = username; loginLog.LoginTime = DateTime.Now; loginLog.LoginIp = WebHelper.GetClientIP(filterContext.HttpContext.Request); loginLog.CreateUserId = admin.UserId; //添加人默认为空 loginLog.CreateDate = DateTime.Now; loginLog.CreateUserName = admin.AliasName; loginLog.ModifyUserId = admin.UserId; //修改人默认为空 loginLog.ModifyDate = DateTime.Now; loginLog.ModifyUserName = admin.AliasName; } catch { } }
/// <summary> /// 应用程序认证请求 /// </summary> /// <param name="sender">发送对象</param> /// <param name="e">事件参数</param> public void Application_AuthenticateRequest(object sender, EventArgs e) { HttpApplication app = (HttpApplication)sender; string username = string.Empty; if (app.Context.User != null && app.Context.User.Identity != null) { username = app.Context.User.Identity.Name; } int w = 0; int h = 0; if (app.Context.Request["nfm"].ObjToInt() == 1) { username = app.Context.Request["un"].ObjToStr(); //请求中自带的用户名 w = app.Context.Request["w"].ObjToInt(); h = app.Context.Request["h"].ObjToInt(); } if (!string.IsNullOrEmpty(username)) { UserInfo tempUserInfo = UserInfo.GetCurretnUser(app.Context); if (tempUserInfo == null || tempUserInfo.UserId == Guid.Empty || tempUserInfo.UserName.ToLower() != username.ToLower()) { Guid userId = UserOperate.GetUserIdByUserName(username); UserInfo userInfo = UserOperate.GetUserInfo(userId); if (w > 0 && h > 0) { userInfo.ClientBrowserWidth = w; userInfo.ClientBrowserHeight = h; } //缓存用户扩展信息 UserInfo.CacheUserExtendInfo(userInfo.UserName, userInfo.ExtendUserObject); //保存票据 FormsPrincipal.Login(userInfo.UserName, userInfo, UserInfo.ACCOUNT_EXPIRATION_TIME, app.Context); } FormsPrincipal.TrySetUserInfo(app.Context); } else { FormsPrincipal.TrySetUserInfo(app.Context); } }