コード例 #1
0
        public ActionResult Login(LoginModel model)
        {
            model.ValidateCode = model.ValidateCode.ToLower();

            if (Session["ValidateCode"].ToString() != model.ValidateCode)
            {
                ModelState.AddModelError("ValidateCode", @"验证码错误");
                model.Password     = String.Empty;
                model.ValidateCode = String.Empty;
                return(View(model));
            }
            var result = _userService.CheckUserInLogin(model.NameOrNumber, Utilities.MD5(model.Password));

            if (!result.Success)
            {
                ModelState.AddModelError(result.Message.Contains("用户") ? "NameOrNumber" : "Password", result.Message);
                model.Password     = String.Empty;
                model.ValidateCode = String.Empty;
                return(View(model));
            }
            var user = _userService.GetUserById(Convert.ToInt32(result.Message));
            var temp = QsMapper.CreateMap <UserDto, UserSafetyModel>(user);

            temp.RememberMe = model.RememberMe;
            //首先去除先前的登陆信息
            SafeOutAuthCookie();
            SetAuthCookie(temp);

            //记录入登录日志中

            var ip           = QsRequest.GetIp();
            var computerName = QsRequest.GetDnsSafeHost();
            var platform     = Request.Browser.Platform;
            var userAgent    = Request.UserAgent;

            _userService.RecordUserLogin(temp.UserId, temp.UserName, ip, computerName, platform, userAgent);
            //结束记录

            if (user.State == UserState.Nonactivated)
            {
                return(RedirectToAction("Confirmation"));
            }
            //被限制要登录的页面会在url上带上上一访问的页面
            //FormsAuthentication.RedirectFromLoginPage(user.UserName, model.RememberMe);
            //return new EmptyResult();

            if (!String.IsNullOrEmpty(model.ReturnUrl))
            {
                return(Redirect(HttpUtility.UrlDecode(model.ReturnUrl)));
            }
            return(RedirectToAction("dashuiguai", "Home"));
        }
コード例 #2
0
        //注销
        public ActionResult LoginOut()
        {
            var temp = GetUserInCookie();

            SafeOutAuthCookie();
            //记录入登录日志中
            var ip           = QsRequest.GetIp();
            var computerName = QsRequest.GetDnsSafeHost();
            var platform     = Request.Browser.Platform;
            var userAgent    = Request.UserAgent;

            _userService.RecordUserLogin(temp.UserId, temp.UserName, ip, computerName, platform, userAgent, false);
            //结束记录
            return(RedirectToAction("Index", "Home"));
        }