public ResponseResult <LoginResponseResult> LoginByJObject([FromBody] JObject data)
        {
            var obj = new
            {
                user_id       = data["user_id"].ToObject <string>(),
                user_password = data["user_password"].ToObject <string>(),
            };
            var result = ResponseResult <LoginResponseResult> .Default();

            try
            {
                if (string.IsNullOrEmpty(obj.user_id))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!"));
                }

                if (string.IsNullOrEmpty(obj.user_password))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!"));
                }

                //=>[模拟从数据库中验证user_id和user_password]
                if (obj.user_id.Equals("abennet") && obj.user_password.Equals("abennet"))
                {
                    LoginResponseResult entity = new LoginResponseResult
                    {
                        UserId       = obj.user_id,
                        UserPassword = obj.user_password,
                        LoginTime    = DateTime.Now,
                        SessionToken = Guid.NewGuid().ToString("N"),
                    };
                    result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!");
                }
                else
                {
                    result = ResponseResult <LoginResponseResult> .Faild("登录失败!");
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult <LoginResponseResult> .Exception(ex.Message);
            }
            return(result);
        }
Exemplo n.º 2
0
        public LoginResponseResult Login(UsersLogin userLogin)
        {
            LoginResponseResult result = new LoginResponseResult();
            string sql = String.Format(@"SELECT [UserID],[UserName],[OldPassword] as [Password],UserType,GeoType,[FullName],[Designation],[Organization] ,StaffID,[PhoneNumber]
                                            ,[Email] , convert(nvarchar(12), cast([CreateDate]  as date),103)   CreateDate,
											ISNULL( convert (nvarchar(10), cast(EditDate as date),103),'')EditDate
                                            FROM [AspNetUsers] where IsActive=1 AND UserName='******' AND OldPassword ='******' ", userLogin.UserName, userLogin.Password);

            result.UserInfo = _unitOfWork.context.Database.SqlQuery <LoginUserInfo>(sql).FirstOrDefault();
            if (result.UserInfo != null)
            {
                if (userLogin.DeviceUniqueId != null)
                {
                    var exist = _unitOfWork.GenericRepositories <DeviceInfo>().FindBy(x => x.DeviceUniqueId == userLogin.DeviceUniqueId && x.UserId == result.UserInfo.UserID).FirstOrDefault();
                    if (exist == null)
                    {
                        DeviceInfo deviceInfo = new DeviceInfo()
                        {
                            DeviceUniqueId = userLogin.DeviceUniqueId,
                            UserId         = result.UserInfo.UserID
                        };
                        _unitOfWork.GenericRepositories <DeviceInfo>().Insert(deviceInfo);
                        _unitOfWork.SaveChange();

                        sql = $@"SELECT RecordId,DeviceUniqueId,REPLACE(STR(RecordId, 5), SPACE(1), '0') DeviceId,UserId FROM DeviceInfo WHERE DeviceUniqueId='{userLogin.DeviceUniqueId}' AND UserId='{result.UserInfo.UserID}'";
                        var device = _unitOfWork.GenericRepositories <DeviceInfo>().GetRecordSet(sql).FirstOrDefault();
                        _unitOfWork.GenericRepositories <DeviceInfo>().Update(device);
                        _unitOfWork.SaveChange();
                        result.UserInfo.DeviceId = device.DeviceId;
                    }
                    else
                    {
                        result.UserInfo.DeviceId = exist.DeviceId;
                    }
                }
            }
            else
            {
                return(result = null);
            }

            return(result);
        }
        public ResponseResult <LoginResponseResult> LoginByFromBody([FromUri] int id,
                                                                    [FromBody] LoginRequestParam loginRequestParam)
        {
            var result = ResponseResult <LoginResponseResult> .Default();

            try
            {
                if (string.IsNullOrEmpty(loginRequestParam.user_id))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_id不能为空!"));
                }

                if (string.IsNullOrEmpty(loginRequestParam.user_password))
                {
                    return(ResponseResult <LoginResponseResult> .Faild("user_password不能为空!"));
                }

                //=>[模拟从数据库中验证user_id和user_password]
                if (loginRequestParam.user_id.Equals("abennet") && loginRequestParam.user_password.Equals("abennet"))
                {
                    LoginResponseResult entity = new LoginResponseResult
                    {
                        UserId       = loginRequestParam.user_id,
                        UserPassword = loginRequestParam.user_password,
                        LoginTime    = DateTime.Now,
                        SessionToken = Guid.NewGuid().ToString("N"),
                    };
                    result = ResponseResult <LoginResponseResult> .Success(entity, "登录成功!");
                }
                else
                {
                    result = ResponseResult <LoginResponseResult> .Faild("登录失败!");
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult <LoginResponseResult> .Exception(ex.Message);
            }
            return(result);
        }
Exemplo n.º 4
0
		private void DoLogin()
		{
#if !FAKE_LOGIN

			LoginResponseResult result = srunSvc.Login();
			if (result.Status == ResponseStatus.Success)
			{
				string uid = result.Uid;
				byte[] packet = CommonService.BuildHeartBeatPacket(uid);
				srunSvc.Status = new StatusInfo(uid, packet);

				srunSvc.HeartBeat();
#else
            LoginResponseResult result = new LoginResponseResult(ResponseStatus.Success, "");
#endif

				srunSvc.Status.IsLogin = true;
				// Update UI
				lblHint.Text = "已登录\n\n时间戳偏差为:" + result.TimeOffset;
#if FAKE_LOGIN
            lblHint.Text += "\t FAKE_LOGIN";
#endif
				txtAddress.Enabled = false;
				txtPassword.Enabled = false;
				txtUsername.Enabled = false;
				btnLogin.Enabled = false;

				// Hide Form
				this.WindowState = FormWindowState.Minimized;

				// Get notify message
				if (srunSvc.Config.NotifyDuration > 0)
				{
					notifyMsg = srunSvc.GetNotifyMessage();
					ntyIcon.BalloonTipText = notifyMsg;
					ntyIcon.ShowBalloonTip(srunSvc.Config.NotifyDuration * 1000);
				}
#if !FAKE_LOGIN
			}
			else
			{
				lblHint.Text = CodeInfo.InfoDict.ContainsKey(result.Message) ? CodeInfo.InfoDict[result.Message] : result.Message;
			}
			if (srunSvc.Config.LogLevel == SimpleLogger.LogLevel.Debug)
			{
				CommonService.logger.AppendLog("Login.\r\n"
					+ "Login url: {0}\r\n" + "Login port: {1}\r\n"
					+ "Server IP: {2}\r\n" + "Heartbeat port: {3} \r\n" + "Heartbeat interval: {4} ms\r\n"
					+ "Logout url: {5}\r\n" + "Log level: {6}\r\n"
					+ "Message url: {7}\r\n" + "Notify duration: {8} second(s)\r\n"
					+ "Query url: {9}\r\n" + "Timestamp offset: {10}\r\n"
					+ "Username: {11}\r\n" + "Uid: {12}\r\n",
					srunSvc.Config.LoginUrl, srunSvc.Config.LoginPort,
						srunSvc.Config.ServerIP, srunSvc.Config.HeartBeatPort, srunSvc.Config.HeartBeatInterval,
						srunSvc.Config.LogoutUrl, srunSvc.Config.LogLevel,
						srunSvc.Config.MessageUrl, srunSvc.Config.NotifyDuration,
						srunSvc.Config.QueryUrl, srunSvc.Config.TimestampOffset,
						srunSvc.Config.Username, result.Uid
					);

			}

#endif
		}