Exemplo n.º 1
0
        public IActionResult Login(string passWord, string account)
        {
            if (string.IsNullOrEmpty(account) || string.IsNullOrEmpty(passWord))
            {
                return(Json(new { code = 500, message = "用户名或密码为空" }));
            }
            passWord = Md5Helper.MD5Encrypt(passWord, 32);
            var userInfo = _userInfoRepository.GetSingle(e => e.Account == account && e.PassWord == passWord && e.IsDel == 0);

            if (userInfo != null)
            {
                CurrentUserInfo currentUserInfo = new CurrentUserInfo()
                {
                    Id             = userInfo.Id,
                    Account        = userInfo.Account,
                    UserName       = userInfo.UserName,
                    PermissionList = new List <dynamic>()
                };

                //记录Session
                HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(currentUserInfo));

                return(Json(new { code = 200, message = "登录成功" }));
            }
            else
            {
                return(Json(new { code = 500, message = "用户名或密码错误" }));
            }
        }
Exemplo n.º 2
0
        private void PublishTopic(MessageBase msg)
        {
            var connection = _connectionPool.Rent();

            try
            {
                using (var channel = connection.CreateModel())
                {
                    //channel.ExchangeDeclare(msg.exchangeName, RabbitMQOptions.ExchangeType, true, true, null);
                    channel.BasicPublish(exchange: msg.exchangeName,
                                         routingKey: msg.MessageRouter,
                                         basicProperties: null,
                                         body: ByteConvertHelper.Object2Bytes(msg));

                    _logger.LogDebug($"rabbitmq topic message [{msg.Id}] has been published.");
                }
            }
            catch (Exception ex)
            {
                _logger.LogError($"rabbitmq topic message [{msg.Id}] has benn raised an exception of sending. the exception is: {ex.Message}", ex);
                throw ex;
            }
            finally
            {
                _connectionPool.Return(connection);
            }
        }
Exemplo n.º 3
0
 public role_rolemenus_others_normal(string exchangeName, RoleMenuMsg dto, string currentDBStr)
 {
     base.MessageBodyByte = ByteConvertHelper.Object2Bytes(dto);
     base.exchangeName    = exchangeName;
     base.MessageRouter   = this.GetType().Name;
     _currentDBStr        = currentDBStr;
 }
 //[ValidateAntiForgeryToken]
 public ActionResult Login(LoginViewModel loginInfo)
 {
     if (ModelState.IsValid)
     {
         try
         {
             var user = _userAppService.CheckUser(loginInfo.UserName, loginInfo.Password);
             if (user != null)
             {
                 //记录Session
                 HttpContext.Session.SetString("CurrentUserId", user.Id.ToString());
                 HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
                 return(RedirectToAction(nameof(Index), "Home"));
             }
             else
             {
                 ModelState.AddModelError("", "用户名或密码错误。");
                 return(View());
             }
         }
         catch (Exception ex)
         {
             _logger.LogError(ex, "登录失败", loginInfo);
             return(View());
         }
     }
     ViewBag.ErrorInfo = ModelState.Values.First().Errors[0].ErrorMessage;
     return(View(loginInfo));
 }
Exemplo n.º 5
0
 public IActionResult Index(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         //Check user info
         var user = _userAppService.CheckUser(model.UserName, model.Password);
         if (user != null)
         {
             //if (HttpContext.Session.GetString("CurrentUserId") !=null)
             //{
             //    ViewBag.ErrorInfo = "User already signed in.";
             //    return View();
             //}
             //Set Session
             HttpContext.Session.SetString("CurrentUserId", user.Id.ToString());
             HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
             //Redirect to homgepage
             return(RedirectToAction("About", "Home"));
         }
         ViewBag.ErrorInfo = "Invalid Username or Password";
         return(View());
     }
     foreach (var item in ModelState.Values)
     {
         if (item.Errors.Count > 0)
         {
             ViewBag.ErrorInfo = item.Errors[0].ErrorMessage;
             break;
         }
     }
     return(View(model));
 }
        private void InsertUpdate(user_update_insertupdate_rpc msg)
        {
            User      bodys = Mapper.Map <User>(ByteConvertHelper.Bytes2Object <User>(msg.MessageBodyByte));
            UserIndex user  = null;
            bool      isAdd = default(Guid).Equals(bodys.Id);

            lock (rpcLocker)
            {
                if (!isAdd)
                {
                    user = _repository.EditUserIndex(bodys);
                }
                else
                {
                    var userId  = ByteConvertHelper.Bytes2Object <Guid>(msg.MessageBodyReturnByte);
                    var newUser = _repository.Get(userId);
                    user = _repository.InsertUserIndex(newUser);
                }
                InsertIndex(user);
            }
            if (user != null)
            {
                msg.MessageBodyReturnByte = ByteConvertHelper.Object2Bytes(user.UserId);
            }
        }
 public department_delete_others_normal(string exchangeName, List <Guid> ids, string currentDBStr)
 {
     base.MessageBodyByte = ByteConvertHelper.Object2Bytes(ids);
     base.exchangeName    = exchangeName;
     base.MessageRouter   = this.GetType().Name;
     _currentDBStr        = currentDBStr;
 }
Exemplo n.º 8
0
        public IActionResult isLogin()
        {
            var myJson = new Dictionary <string, object>()
            {
                { "success", false },
                { "message", null }
            };

            byte[] userObject = null;

            HttpContext.Session.TryGetValue("CurrentUser", out userObject);

            if (userObject != null)
            {
                var user = ByteConvertHelper.Bytes2Object <UserSimpleDto>(userObject);

                myJson["success"] = true;
                myJson["user"]    = new UserSimpleDto
                {
                    UserName  = user.UserName,
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Status    = user.Status
                };
            }
            return(Json(myJson));
        }
Exemplo n.º 9
0
 public IActionResult Index(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         //检查用户信息
         var user = _userAppService.CheckUser(model.UserName, model.Password);
         if (user != null)
         {
             //记录Session
             HttpContext.Session.SetString("CurrentUserId", user.ID.ToString());
             HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
             //跳转到系统首页
             return(RedirectToAction("Index", "Article"));
         }
         ViewBag.ErrorInfo = "用户名或密码错误。";
         return(View());
     }
     foreach (var item in ModelState.Values)
     {
         if (item.Errors.Count > 0)
         {
             ViewBag.ErrorInfo = item.Errors[0].ErrorMessage;
             break;
         }
     }
     return(View(model));
 }
        private void UpdateRowMenus(role_rolemenus_others_normal msg)
        {
            if (string.IsNullOrWhiteSpace(msg.CurrentDBStr))
            {
                throw new Exception("IRepositoryFactory.CreateRepositoryByConnStr need role ConnStr!");
            }

            RoleMenuMsg     bodys     = ByteConvertHelper.Bytes2Object <RoleMenuMsg>(msg.MessageBodyByte);
            List <RoleMenu> roleMenus = new List <RoleMenu>();

            bodys?.menuIds.ForEach(x => { roleMenus.Add(new RoleMenu()
                {
                    RoleId = bodys.Id, MenuId = x
                }); });
            lock (normalLocker)
            {
                var repository = _repository.CreateRepositoryByConnStr <Role, IRoleRepository>(msg.CurrentDBStr);
                repository.Execute(() =>
                {
                    repository.RemoveRowMenus(bodys.Id);
                    repository.UnitOfWork.SaveChange();
                    repository.BatchAddRowMenus(roleMenus);
                    repository.UnitOfWork.SaveChange();
                });
            }
        }
Exemplo n.º 11
0
		public string htlogin()
		{
			ry ry = new ry();
			var updateResult = TryUpdateModelAsync<ry>(ry);
			if (ModelState.IsValid)
			{
				//检查用户信息
				var user = ryRepository.Check(ry.yhm, ry.mm);
				if (user != null)
				{
					HttpContext.Session.Clear();
					//记录session
					HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
					HttpContext.Session.Set("CurrentUserModel", ByteConvertHelper.Object2Bytes(ry));

					return "success";
				}
				else
				{
					return "用户名或密码错误需要修改";
				}
			}
			foreach (var key in ModelState.Keys)
			{
				if (ModelState[key].Errors.Count > 0)
				{
					ViewBag.ErrorInfo = JsonConvert.SerializeObject(new { Key = key, ErrorMessage = ModelState[key].Errors[0].ErrorMessage });
					break;
				}
			}
			return "fail";
		}
Exemplo n.º 12
0
 public IActionResult Index(LoginModel model)
 {
     if (ModelState.IsValid)
     {
         //ユーザチェック
         var user = _userAppService.CheckUser(model.UserName, model.Password);
         if (user != null)
         {
             //記録Session
             HttpContext.Session.SetString("CurrentUserId", user.Id.ToString());
             HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
             //メイン画面へ遷移
             return(RedirectToAction("Index", "Home"));
         }
         ViewBag.ErrorInfo = "ユーザ名またはパスワードが不正です。";
         return(View());
     }
     foreach (var item in ModelState.Values)
     {
         if (item.Errors.Count > 0)
         {
             ViewBag.ErrorInfo = item.Errors[0].ErrorMessage;
             break;
         }
     }
     return(View(model));
 }
Exemplo n.º 13
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                return;
            }

            if (args[0] == "update")
            {
                try
                {
                    string callExeName   = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(args[1]));
                    string updateFileDir = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(args[2]));
                    string appDir        = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(args[3]));
                    var    updateInfo    = ByteConvertHelper.Bytes2Object(Convert.FromBase64String(args[4])) as UpdateInfo;

                    App             app    = new App();
                    DownFileProcess downUi = new DownFileProcess(callExeName, updateFileDir, appDir, updateInfo)
                    {
                        WindowStartupLocation = WindowStartupLocation.CenterScreen
                    };
                    app.Run(downUi);
                }
                catch (Exception ex)
                {
                    LogerManager.Current.AsyncError("开启升级程序异常:" + ex.Message);
                    MessageBox.Show(ex.Message);
                }
            }
        }
Exemplo n.º 14
0
 public department_update_others_normal(string exchangeName, DepartmentDto dto, string currentDBStr)
 {
     base.MessageBodyByte = ByteConvertHelper.Object2Bytes(dto);
     base.exchangeName    = exchangeName;
     base.MessageRouter   = this.GetType().Name;
     _currentDBStr        = currentDBStr;
 }
Exemplo n.º 15
0
        private void UpdateRowMenus(role_update_rolemenus_normal msg)
        {
            RoleMenuMsg     bodys     = ByteConvertHelper.Bytes2Object <RoleMenuMsg>(msg.MessageBodyByte);
            List <RoleMenu> roleMenus = new List <RoleMenu>();

            bodys?.menuIds.ForEach(x => { roleMenus.Add(new RoleMenu()
                {
                    RoleId = bodys.Id, MenuId = x
                }); });
            lock (normalLocker)
            {
                _repository.Execute(() =>
                {
                    _repository.RemoveRowMenus(bodys.Id);
                    _repository.UnitOfWork.SaveChange();
                    _repository.BatchAddRowMenus(roleMenus);
                    _repository.UnitOfWork.SaveChange();
                });
            }

            var connList = _repositoryFactory.GetConnectionStrings();

            foreach (var connStr in connList)
            {
                role_rolemenus_others_normal otherobj = new role_rolemenus_others_normal(_queueService.ExchangeName, bodys, connStr);
                _queueService.PublishTopic(otherobj);
            }
        }
Exemplo n.º 16
0
 static CurrentUser()
 {
     byte[] result;
     _session.TryGetValue("CurrentUser", out result);
     if (!result.IsEmpty())
     {
         _userViewModel = (UserViewModel)ByteConvertHelper.Bytes2Object(result);
     }
 }
Exemplo n.º 17
0
        private void OnConsumerReceived(object sender, BasicDeliverEventArgs e)
        {
            _deliveryTag = e.DeliveryTag;

            var message = ByteConvertHelper.Bytes2Object <T>(e.Body);

            if (!_needResponse)
            {
                OnMessageReceievedToOutSide?.Invoke(sender, message);
            }
            else
            {
                bool hasRejected = false;
                bool isSuccess   = false;
                try
                {
                    //_processEvent(_queueName, message);
                    OnMessageReceievedToOutSide?.Invoke(sender, message);
                    isSuccess = true;
                }
                catch (Exception ex)
                {
                    _logger.LogError($"RabbitMQConsumerClient OnConsumerReceived eooro:{message.MessageRouter}", ex);
                    _responseChannel.BasicReject(e.DeliveryTag, false); //不再重新分发
                    hasRejected = true;
                    isSuccess   = true;
                    throw ex;
                }

                if (_needResponse)//是否需要回执
                {
                    if (isSuccess)
                    {
                        try
                        {
                            IBasicProperties props      = e.BasicProperties;
                            IBasicProperties replyProps = _responseChannel.CreateBasicProperties();
                            replyProps.CorrelationId = props.CorrelationId;
                            _responseChannel.BasicPublish(_exchageName, $"{message.MessageRouter}_reply", null, ByteConvertHelper.Object2Bytes(message)); //发送消息到内容检查队列
                            if (!hasRejected)
                            {
                                _channel.BasicAck(e.DeliveryTag, false); //确认处理成功  此处与不再重新分发,只能出现一次
                            }
                        }
                        catch (Exception Ex)
                        {
                            _logger.LogError($"RabbitMQConsumerClient OnConsumerReceived _needResponse error:{message.MessageRouter}", Ex);
                            throw Ex;
                        }
                    }
                    //else
                    //{
                    //    _channel.BasicReject(e.DeliveryTag, true); //处理失败,重新分发
                    //}
                }
            }
        }
        private void Delete(department_delete_others_normal msg)
        {
            List <Guid> bodys = ByteConvertHelper.Bytes2Object <List <Guid> >(msg.MessageBodyByte);

            lock (normalLocker)
            {
                _repository.CreateRepositoryByConnStr <Department, IDepartmentRepository>(msg.CurrentDBStr).Delete(it => bodys.Contains(it.Id));
            }
        }
Exemplo n.º 19
0
        public async Task <IActionResult> Login(LoginViewModel model)
        {
            var methodname = MethodBase.GetCurrentMethod();

            Debug.WriteLine(methodname);

            ////跳转到系统首页
            //return RedirectToAction("Monitor", "Monitor");

            if (ModelState.IsValid)
            {
                var desPassWord = ToolService.Instance.EncryptByDES(model.Password);
                //检查用户信息
                var user = await _respository.FirstOrDefaultAsync(l => l.NAME == model.UserName && l.PASSWORD == desPassWord);

                if (user != null)
                {
                    //记录Session
                    HttpContext.Session.SetString("CurrentUserId", user.ID.ToString());
                    HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
                    //HttpContext.Session.SetString("CurrentUserRole", user.ROLEID.ToString()));
                    //var type = MethodBase.GetCurrentMethod().GetCustomAttributes<DescriptionAttribute>();



                    //  Message:验证用户权限
                    var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
                    identity.AddClaim(new Claim(ClaimTypes.Sid, user.ID.ToString()));
                    identity.AddClaim(new Claim(ClaimTypes.Name, user.USERNAME));
                    identity.AddClaim(new Claim(ClaimTypes.Role, user.ROLEID));
                    await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity));

                    await this._respository.WriteUserLogger(user.ID, UserLoggerConfiger.Login, user.NAME);

                    //跳转到系统首页
                    return(RedirectToAction("Index", "Movie"));
                }

                ViewBag.ErrorInfo = "提示:用户名或密码错误。";



                return(View());
            }

            foreach (var item in ModelState.Values)
            {
                if (item.Errors.Count > 0)
                {
                    ViewBag.ErrorInfo = item.Errors[0].ErrorMessage;
                    break;
                }
            }

            return(View());
        }
Exemplo n.º 20
0
 public void SetUserInfo(UserInfo user)
 {
     try
     {
         HttpContextCurrent.Instance.HttpContext.Session.Set("userInfo", ByteConvertHelper.Object2Bytes(user));
     }
     catch
     {
     }
 }
Exemplo n.º 21
0
        private void Delete(user_delete_deleteuser_normal msg)
        {
            List <Guid> bodys = ByteConvertHelper.Bytes2Object <List <Guid> >(msg.MessageBodyByte);

            lock (normalLocker)
            {
                _repository.DeleteUserIndex(it => bodys.Contains(it.UserId));
                DeleteIndex(bodys);
            }
        }
Exemplo n.º 22
0
        private void Request(RoleDto dto, RoleDto olddto, role_update_insertupdate_rpc replyMsg, int runcnt)
        {
            role_update_insertupdate_rpc msg = new role_update_insertupdate_rpc(_queueService.ExchangeName, dto);

            _queueService.Request <RoleDto>(dto, olddto, msg, replyMsg, (x, z, y) =>
            {
                x.Id = ByteConvertHelper.Bytes2Object <Guid>(y.MessageBodyReturnByte);
                _logger.LogInformation("role.update.insertupdate.rpc: name:{0} method:{1}", x.Id, "InsertOrUpdate");
                InsertOrUpdateCache(x, z);
            }, runcnt);
        }
Exemplo n.º 23
0
        public IActionResult Login(SysUserInput input)
        {
            SysUserDto currentUser = _sysUserService.Login(input.LoginName, input.Password, input.TenantName);

            if (currentUser != null)
            {
                HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(currentUser));
                return(Content(true.ToString()));
            }
            return(Content(false.ToString()));
        }
Exemplo n.º 24
0
 public override void OnActionExecuting(ActionExecutingContext filterContext)
 {
     filterContext.HttpContext.Session.TryGetValue("CurrentUser", out var result);
     if (result == null)
     {
         filterContext.Result = new RedirectResult("/Login/Index");
         return;
     }
     ViewBag.UserName = ByteConvertHelper.Bytes2Object <User>(result).Name;
     base.OnActionExecuting(filterContext);
 }
Exemplo n.º 25
0
        private void Delete(user_delete_deleteuser_normal msg)
        {
            List <Guid> bodys = ByteConvertHelper.Bytes2Object <List <Guid> >(msg.MessageBodyByte);

            lock (normalLocker)
            {
                bodys.ForEach(item => {
                    _repository.CreateRepository <User, IUserRepository>(item.ToString()).Delete(item);//这里efcore自带级联删除
                });
            }
        }
Exemplo n.º 26
0
        public async Task <JsonResult> UpdateUserInfo(EditUsers edituser, IFormCollection collection)
        {
            var userList = HttpContext.Session.Get <UsersModel>("CacheUser");

            edituser.F_UserId  = userList.data.F_UserId;
            edituser.F_Account = _usersService.GetOneUsers(edituser.F_UserId).data.F_Account;
            var files = collection.Files;

            if (files.Count > 0)
            {
                var    webRootPath     = _host.WebRootPath;
                string relativeDirPath = "/UserPic";
                string absolutePath    = webRootPath + relativeDirPath;

                string[] fileTypes = new string[] { ".gif", ".jpg", ".jpeg", ".png", ".bmp" };
                string   extension = Path.GetExtension(files[0].FileName);
                if (fileTypes.Contains(extension.ToLower()))
                {
                    if (!Directory.Exists(absolutePath))
                    {
                        Directory.CreateDirectory(absolutePath);
                    }
                    string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + extension;
                    var    filePath = absolutePath + "/" + fileName;
                    using (var stream = new FileStream(filePath, FileMode.Create))
                    {
                        await files[0].CopyToAsync(stream);
                    }
                    edituser.F_Image = "/UserPic/" + fileName;

                    UsersModel    u  = new UsersModel();
                    ResponseModel rm = _usersService.UpdateUserInfo(edituser, ref u);
                    if (rm.code == 200)
                    {
                        HttpContext.Session.Set("CacheUser", ByteConvertHelper.Object2Bytes(u));
                    }
                    return(Json(rm));
                }
                return(Json(new ResponseModel {
                    code = 0, result = "图片格式有误"
                }));
            }
            else
            {
                edituser.F_Image = _usersService.GetOneUsers(edituser.F_UserId).data.F_Image;
                UsersModel    u  = new UsersModel();
                ResponseModel rm = _usersService.UpdateUserInfo(edituser, ref u);
                if (rm.code == 200)
                {
                    HttpContext.Session.Set("CacheUser", ByteConvertHelper.Object2Bytes(u));
                }
                return(Json(rm));
            }
        }
Exemplo n.º 27
0
 //判斷用戶是否登入
 public override void OnActionExecuting(ActionExecutingContext filterContext)
 {
     byte[] result;
     filterContext.HttpContext.Session.TryGetValue("CurrentUser", out result);
     if (result == null)
     {
         filterContext.Result = new RedirectResult("/login");
         return;
     }
     _currentUser = ByteConvertHelper.Bytes2Object <UserSimpleDto>(result);
     base.OnActionExecuting(filterContext);
 }
Exemplo n.º 28
0
        public IActionResult changePassword([FromBody] dynamic data)
        {
            byte[] userObject = null;
            HttpContext.Session.TryGetValue("CurrentUser", out userObject);
            UserSimpleDto user = null;

            if (userObject != null)
            {
                user = ByteConvertHelper.Bytes2Object <UserSimpleDto>(userObject);
            }
            return(Json(_service.changePassword(user, (string)data["username"], (string)data["newPassword"], (string)data["passwordhash"])));
        }
Exemplo n.º 29
0
        public string GetRedisValue()
        {
            string str = "xzxzxzxxzx";

            DistributedCacheManager.Set("XXX", ByteConvertHelper.Object2Bytes(str), options: new Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions
            {
                AbsoluteExpirationRelativeToNow = TimeSpan.FromHours(1)
            });
            var val = DistributedCacheManager.GetByte("XXX");

            return((string)ByteConvertHelper.Bytes2Object(val));
        }
Exemplo n.º 30
0
        public ActionResult Get_CurrentUser_UserName()
        {
            byte[] userObject = null;
            HttpContext.Session.TryGetValue("CurrentUser", out userObject);
            string UserName = "";

            if (userObject != null)
            {
                UserName = ByteConvertHelper.Bytes2Object <UserSimpleDto>(userObject).UserName;
            }

            return(Json(UserName));
        }