public HttpResponseMessage Login([FromBody] Models.LoginInfo LoginInfo) { Models.UserSession UserManager = new Models.UserSession(); string msg = string.Empty; var userSession = new Models.UserSession().Login(LoginInfo.UserName, LoginInfo.Password, out msg); if (string.IsNullOrWhiteSpace(msg)) { if (!string.IsNullOrWhiteSpace(LoginInfo.IMEI)) { userSession.LOGFLAG = LoginInfo.IMEI; } userSession.LASTLOGINTIME = DateTime.Now; userSession.Version = LoginInfo.Version; userSession.Plateform = LoginInfo.Plateform; userSession.ChannelID = LoginInfo.ChannelID; UserManager.SetUserSession(userSession); resObj.data = userSession; } else { resObj.error = 1; resObj.data = msg; } return(Json(resObj)); }
protected void btnSubmit_Click(object sender, EventArgs e) { string userName = txtUserName.Text.Trim(); string userPwd = txtPassword.Text.Trim(); if (userName.Equals("") || userPwd.Equals("")) { msgtip.InnerHtml = "请输入用户名或密码"; return; } if (Session["AdminLoginSun"] == null) { Session["AdminLoginSun"] = 1; } else { Session["AdminLoginSun"] = Convert.ToInt32(Session["AdminLoginSun"]) + 1; } //判断登录错误次数 if (Session["AdminLoginSun"] != null && Convert.ToInt32(Session["AdminLoginSun"]) > 5) { msgtip.InnerHtml = "错误超过5次,关闭浏览器重新登录!"; return; } BLL.manager bll = new BLL.manager(); Model.manager model = bll.GetModel(userName, userPwd, true); if (model == null) { msgtip.InnerHtml = "用户名或密码有误,请重试!"; return; } Session[DTKeys.SESSION_ADMIN_INFO] = model; string msg = string.Empty; var userSession = new Models.UserSession().Login(userName, userPwd, out msg); if (string.IsNullOrWhiteSpace(msg)) { userSession.LOGFLAG = Models.UserSession.GetClientIP(); userSession.LASTLOGINTIME = DateTime.Now; //userSession.Version = LoginInfo.Version; userSession.Plateform = 1; new Models.UserSession().SetUserSession(userSession); } Session.Timeout = 45; //写入登录日志 Model.siteconfig siteConfig = new BLL.siteconfig().loadConfig(); if (siteConfig.logstatus > 0) { new BLL.manager_log().Add(model.id, model.user_name, DTEnums.ActionEnum.Login.ToString(), "用户登录"); } //写入Cookies Utils.WriteCookie("DTRememberName", model.user_name, 14400); Utils.WriteCookie("AdminName", "DTcms", model.user_name); Utils.WriteCookie("AdminPwd", "DTcms", model.password); Response.Redirect("index.aspx"); return; }
public static UserSession From(Models.UserSession source) { var result = new UserSession(); result.IsAuthenticated = source.IsAuthenticated; result.DisplayName = source.DisplayName; result.PrimaryEmail = source.PrimaryEmail; result.Roles = source.Roles; result.Permissions = source.Permissions; return(result); }
private void AddSession(LoginUserRequest request, LoginUserResponse response) { var user = _usersRepository.ReturnIfExsists(request.Email, request.Password); var sessionId = CreateSessionId(); var expires = DateTime.Now.AddMinutes(20); var session = new Models.UserSession() { Expires = expires, UserId = user.Id, //TODO fix Ticket = sessionId }; response.ExpireDate = expires; _userSessionRepository.AddSession(session); response.Ticket = sessionId; }
public override void OnActionExecuting(HttpActionContext actionContext) { // check null parameter if (actionContext.ActionArguments.Count > 0) { if (actionContext.ActionArguments.Any(p => { return(p.Value == null); })) { Model.BaseResponse res = new Model.BaseResponse { error = 5, data = "参数缺失" }; actionContext.Response = ApiBaseController.Json(res); base.OnActionExecuting(actionContext); } } var attr = actionContext.ActionDescriptor.GetCustomAttributes <AllowAnonymousAttribute>().OfType <AllowAnonymousAttribute>(); bool isAnonymous = attr.Any(a => a is AllowAnonymousAttribute); if (isAnonymous) { base.OnActionExecuting(actionContext); } else { // token in header var request = actionContext.Request; string token = string.Empty; if (request.Headers.Contains("token")) { token = HttpUtility.UrlDecode(request.Headers.GetValues("token").FirstOrDefault()); } if (!string.IsNullOrEmpty(token)) // app Access { var currentUser = new Models.UserSession().GetUserSession(token); if (currentUser == null) { Model.BaseResponse res = new Model.BaseResponse { error = 2, data = "用户信息已失效,请重新登录" }; actionContext.Response = ApiBaseController.Json(res); } else { new Models.UserSession().SetUserSession(currentUser); } } else // web access { if (Models.UserSession.GetCurrentUser() == null) { Model.BaseResponse res = new Model.BaseResponse { error = 2, data = "用户信息已失效,请重新登录" }; actionContext.Response = ApiBaseController.Json(res); } } base.OnActionExecuting(actionContext); } }
public static Profile From(Models.UserSession source) { return(new Profile().PopulateWith(source)); }