Ejemplo n.º 1
0
        public void SignIn(SignInModel user)
        {
            SignInModule module = new SignInModule();

            m_user = module.GetUserBySignID(user);
            if (m_user == null)
            {
                throw new Exception("請輸入正確帳號或密碼");
            }
            if (m_user.UserAccount == "manager")
            {
                m_user.Role = UserRoleEnum.SUPERADMIN;
            }
            else if (m_user.UserAccount == "admin")
            {
                m_user.Role = UserRoleEnum.ADMIN;
            }
            else
            {
                m_user.Role = UserRoleEnum.USER;
            }
            Context.Session["UserInfo"] = m_user;
            //寫入登入紀錄
            //string ip = System.Web.HttpContext.Current.Request.UserHostAddress;
            //IpHistoryModule ipMdu = new IpHistoryModule();
            //ipMdu.WriteIp(ip, "manager");
            //ipMdu.Dispose();
        }
Ejemplo n.º 2
0
        public ActionResult Login(LoginUserInfoModel model)
        {
            try
            {
                #region 验证验证码
                var vcode = SessionHelper.Get <string>("vcode");
                if (vcode.IsNullOrEmpty() || vcode != model.Code)
                {
                    return(Json(new { status = 1, msg = "验证码错误" }));
                }
                SessionHelper.RemoveSession("vcode");
                #endregion

                var request = new LoginQueryRequest
                {
                    LoginName = model.UserName,
                    Password  = model.PassWord.GetMd5()
                };

                var loginqueryresponse = _iuserinfoservice.LoginQuery(request);

                if (loginqueryresponse.UserInfoEntity == null)
                {
                    return(Json(new { status = 2, msg = "密码错误" }, JsonRequestBehavior.AllowGet));
                }

                #region 保存用户登录状态
                string identityValue = Guid.NewGuid().ToString("N");

                CookieHelper.Set(PublicConst.IdentityCookieKey, identityValue, true);

                var entity = loginqueryresponse.UserInfoEntity.As <AccountModel>();

                entity.Fingerprint = RequestHelper.Fingerprint;

                var key = identityValue.AddCachePrefix(PublicConst.IdentityCookieKey);

                CacheManager.RedisDefault.Set(key, entity, PublicConst.Time.Hour1);

                #region 记录用户操作日志
                _systemOperationLogService.AddOperationLog(new AddOperationLogRequest
                {
                    Content = string.Format("[LoginName:{0}]-[Name:{1}]-[Content:{2}]", entity.LoginName, entity.Name, "用户登录")
                });
                #endregion

                #endregion

                return(Json(new { status = 0 }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogManager.DefaultLogger.ErrorFormat("登录出错:{0}", new { model, err = ex.ToString() }.ToJson());
                return(Json(new { status = -1, msg = "系统出错!" }, JsonRequestBehavior.AllowGet));
            }
        }
Ejemplo n.º 3
0
        public ActionResult Index(string token, string userName)
        {
            using (IMeGrabUserService userService = ServiceLocator.Instance.GetService <IMeGrabUserService>())
            {
                MeGrabUserDataObject meGrabUser         = userService.GetRegisteredUserByName(userName);
                LoginUserInfoModel   loginUserInfoModel = new LoginUserInfoModel();
                loginUserInfoModel.Token = token;
                loginUserInfoModel.User  = meGrabUser;

                return(View("Index", loginUserInfoModel));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 取得使用者資訊
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public LoginUserInfoModel GetUserBySignID(SignInModel userModel)
        {
            LoginUserInfoModel userInfo =
                this.DB.USER
                .Where(s => s.USR_ID == userModel.Account && s.USR_PWD == userModel.Password)
                .Select(s => new LoginUserInfoModel()
            {
                ID          = s.ID,
                UserAccount = s.USR_ID,
                UserName    = s.USR_NM,
                IsDisabled  = s.DISABLE,
            })
                .FirstOrDefault();

            PublicMethodRepository.HtmlDecode(userInfo);
            return(userInfo);
        }
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            using (var db = new SQLiteConnection(CommonCenter.DBPath))
            {
                LoginUserInfoModel userModel = db.Query <LoginUserInfoModel>(string.Format("SELECT * FROM {0}", CommonCenter.Table_T_USER_LOGIN)).FirstOrDefault();

                //string temp = "";
                //RestClient client = new RestClient(CommonCenter.BaseUrlUser);
                //RestRequest request = new RestRequest(@"user/getuserbycriteriakeybyuserpwd?criteriakey=18888888888&userpwd=123456", Method.GET);
                //request.AddUrlSegment("criteriakey", "18888888888");
                //request.AddUrlSegment("userpwd", "123456");

                //client.ExecuteAsync(request
                //    , (a) =>
                //    {
                //        temp = a.Content;
                //    });

                if (userModel != null)
                {
                    CommonCenter.LoginUserInformationModel = userModel;
                    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                }
                else
                {
                    //db.RunInTransaction(() =>
                    //    {
                    //        db.Insert(new LoginUserInfoModel()
                    //        {
                    //            USER_ID = Guid.NewGuid().ToString(),
                    //            USER_PHONE_NUMBER = "",
                    //            USER_KEY = "xsd",
                    //            USER_EMAIL = "",
                    //            USER_PWD = "123456",
                    //            USER_DEVICE_ID = DeviceStatus.DeviceName,
                    //            USER_DEVICE_NAME = "",
                    //            USER_LOGIN_DATE = DateTime.Now.ToString(CommonCenter.GlobalDateTimeFormat)
                    //        });
                    //    });
                    //txtTest.Text = "insert success!";
                    NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative));
                }
            }
        }
Ejemplo n.º 6
0
        public void SignIn(SignInModel user)
        {
            SignInModule module = new SignInModule();

            m_user = module.GetUserBySignID(user);
            if (m_user == null)
            {
                throw new Exception("請輸入正確帳號或密碼");
            }
            if (m_user.UserAccountName == "manager")
            {
                m_user.Role = UserRoleEnum.ADMIN;
            }
            else
            {
                m_user.Role = UserRoleEnum.USER;
            }
            Context.Session["UserInfo"] = m_user;
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 取得使用者資訊
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public LoginUserInfoModel GetUserBySignID(SignInModel userModel)
        {
            LoginUserInfoModel userInfo =
                this.DB.WBUSR
                .Where(s => s.SIGNIN_ID == userModel.AccountName && s.SIGNIN_PWD == userModel.Password)
                .Select(s => new LoginUserInfoModel()
            {
                ID = s.ID,
                UserAccountName = s.SIGNIN_ID,
                UserName        = s.USR_NM,
                UserEngName     = s.USR_ENM,
                Email           = s.USR_EML,
                CreateDate      = s.BUD_DTM,
                GUID            = s.USR_GUID
            })
                .FirstOrDefault();

            return(userInfo);
        }
Ejemplo n.º 8
0
        public ActionResult Login(LoginUserInfoModel model)
        {
            try
            {
                #region 验证验证码登陆错误次数
                var loginkey = model.UserName + RequestHelper.Ip;
                var loginnum = int.Parse(CacheManager.RunTimeCache.Get(loginkey) ?? "0");

                if (loginnum >= ConfigHelper.GetConfigInt("MaxNumberErrorLogin"))
                {
                    return(Json(new { status = 5, msg = "错误登陆次数超过上限" }, JsonRequestBehavior.AllowGet));
                }
                #endregion

                #region 验证验证码
                var vcode = SessionHelper.Get("vcode").IsNullToString();
                if (vcode.IsNullOrEmpty() || vcode != model.Code)
                {
                    return(Json(new { status = 1, msg = "验证码错误" }));
                }
                SessionHelper.Remove("vcode");
                #endregion

                #region 验证用户名密码
                var request = new LoginQueryRequest
                {
                    LoginName = model.UserName,
                    Password  = model.PassWord.GetMd5()
                };

                var response = _iuserinfoservice.LoginQuery(request);

                if (!response.IsSuccess)
                {
                    return(Json(new { status = 4, msg = "登录出错!" }, JsonRequestBehavior.AllowGet));
                }

                if (response.UserInfoEntity == null)
                {
                    //记录ip地址、用户名登陆次数
                    CacheManager.RunTimeCache.Set(loginkey, (loginnum + 1).ToString(), PublicConst.Time.Day1);
                    return(Json(new { status = 2, msg = "密码错误" }, JsonRequestBehavior.AllowGet));
                }
                CacheManager.RunTimeCache.Remove(loginkey);
                #endregion

                #region 保存用户登录状态
                string identityValue = Guid.NewGuid().ToString("N");

                CookieHelper.Set(PublicConst.IdentityCookieKey, identityValue, true);

                var entity = response.UserInfoEntity.As <AccountModel>();

                entity.Fingerprint = RequestHelper.Fingerprint;

                var key = identityValue.AddCachePrefix(PublicConst.IdentityCookieKey);

                CacheManager.RedisDefault.Set(key, entity, PublicConst.Time.Hour1);

                #region 只允许一个客户端登录
                //var k = entity.Id.ToString().AddCachePrefix("LoginBind");

                //var v = CacheManager.RedisDefault.Get(k);

                //if (!string.IsNullOrEmpty(v))
                //{
                //	CacheManager.RedisDefault.Remove(v.AddCachePrefix(PublicConst.IdentityCookieKey));
                //}

                //CacheManager.RedisDefault.Set(k, identityValue, PublicConst.Time.Hour1);
                #endregion

                #region 记录用户操作日志
                _systemOperationLogService.AddOperationLog(new AddOperationLogRequest
                {
                    Content = string.Format("[LoginName:{0}]-[Name:{1}]-[Content:{2}]", entity.LoginName, entity.Name, "用户登录")
                });
                #endregion

                #endregion

                return(Json(new { status = 0 }, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                LogManager.DefaultLogger.ErrorFormat("登录出错:{0}", new { model, err = ex.ToString() }.ToJson());
                return(Json(new { status = -1, msg = "系统出错!" }, JsonRequestBehavior.AllowGet));
            }
        }