コード例 #1
0
        protected override void Initialize(HttpControllerContext controllerContext)
        {
            HttpContextBase context = (HttpContextBase)controllerContext.Request.Properties["MS_HttpContext"];//获取传统context
            HttpRequestBase request = context.Request;

            if (request["UserToken"] != null)
            {
                UserToken = request["UserToken"].ToString();

                if (!string.IsNullOrWhiteSpace(UserToken))
                {
                    CachePDAUser User = PDAUserMsg.TokenGetUser(UserToken);
                    if (User != null)
                    {
                        PdaUser = PDAUser.GetEntityByID(User.UserID);
                    }
                }
            }

            base.Initialize(controllerContext);
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: Haute998/WalkTd
        public RequestResult Login(string DeviceCode, string UserName, string Password)
        {
            RequestResult result = new RequestResult();

            try
            {
                PDA pda = PDA.GetEntityByKeys(DeviceCode);
                if (pda == null)
                {
                    result.code    = 1009;
                    result.message = "该设备验证不通过,禁止访问服务器";
                    result.success = false;

                    PDALog.Write("用户登录", "登录", "", UserName, string.Format("DeviceCode:{0}", DeviceCode), result.message);
                    return(result);
                }

                PDAUser user = PDAUser.PDAUserLogin(UserName, Password);
                if (user == null)
                {
                    result.message = "用户名或密码错误";
                    result.success = false;

                    PDALog.Write("用户登录", "登录", "", UserName, string.Format("DeviceCode:{0}", DeviceCode), result.message);
                    return(result);
                }

                string IsUserToken = PDAUserMsg.PDAUserLogin(DeviceCode, UserName);     // 验证重复登录

                CachePDAUser muser = new CachePDAUser();
                muser.DeviceCode = DeviceCode;
                muser.UserID     = user.ID;
                muser.UserName   = user.PUserName;
                muser.Timestamp  = CommonFunc.GetNowMTimestamp();
                muser.UserToken  = string.IsNullOrEmpty(IsUserToken) ? PDAUserMsg.CreateUserToken() : IsUserToken;
                //muser.AuthCodeList = B_RoleRights.GetEntitysByRoleID(user.C_UserTypeID);  // 权限控制

                PDAUserMsg.CacheMobileUserList.Add(muser);

                UserLoginInfo UserInfo = new UserLoginInfo();
                UserInfo.UserToken  = muser.UserToken;
                UserInfo.ExpireDate = DateTime.Now.AddHours(20).ToString("yyyy-MM-dd HH:mm:ss");

                result.data      = UserInfo;
                result.timestamp = CommonFunc.GetNowTimestamp();
                result.message   = "登录成功";
                result.success   = true;

                user.LastLoginTime  = DateTime.Now;
                user.LastLoginDCode = DeviceCode;
                user.UpdateByID();

                PDALog.Write("用户登录", "登录", "", user.PUserName + "-" + user.PRealName, string.Format("DeviceCode:{0}", DeviceCode), result.message);
            }
            catch (Exception ex)
            {
                result.code    = 500;
                result.message = "服务出错";
                result.success = false;
                DAL.Log.Instance.Write("PDA登录出错:" + ex.Message, "PDA登录出错");
            }

            return(result);
        }