示例#1
0
        public async Task <EmailMessage> ResetPassword(UserSimpleDto user, UserActivation activation)
        {
            var email = new EmailMessage();

            email.FromAddresses.Add(new EmailAddress
            {
                Name    = SENDER_NAME,
                Address = _emailConfiguration.NoReplyEmail
            });

            email.ToAddresses.Add(new EmailAddress
            {
                Name    = user.Email,
                Address = user.Email
            });

            var resetPasswordHyperlink = $"<a href='{_configuration["ApiUrl:Url"]}/userActivations/userPasswordReset?token={activation.Token}'>Reset hesla</a>";

            email.Subject = $"Reset hesla uživatele { user.UserName }";
            email.Content = $@"<p>Bylo zažádáno o obnovení hesla pro uživatele <strong>{ user.UserName }</strong>. Pokud jste o změnu nežádali, dejte nám prosím vědět a žádný úkon neprovádějte.</p>
<p>Pro obnovení hesla přejděte na stránky prostřednictvím odkazu { resetPasswordHyperlink }</p>
<p>Váš tým <strong>Jera Trading s.r.o.</strong></p>";

            await _emailService.Send(email);

            return(email);
        }
示例#2
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));
        }
示例#3
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);
 }
示例#4
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"])));
        }
示例#5
0
        public async Task <IActionResult> UpdateUserAdmin([FromBody] UserSimpleDto user)
        {
            var pUser = await _repository.GetOneAsync <User>(x => x.Id == user.Id);

            var pCustomer = await _customerRepository.GetOneAsync <Customer>(x => x.Id == pUser.CustomerId);

            pUser.IsActive       = user.IsActive;
            pCustomer.IsFeePayed = user.IsFeePayed;

            await _repository.UpdateAsync(pUser);

            await _customerRepository.UpdateAsync(pCustomer);

            return(Json(true));
        }
示例#6
0
        public IActionResult Login([FromBody] UserDto userDto)
        {
            var myJson = _service.Login(userDto.UserName, userDto.Password);

            var checkLogged = bool.Parse(myJson["success"].ToString());

            if (checkLogged)
            {
                //記錄Session
                UserSimpleDto user = (UserSimpleDto)(myJson["user"]);
                HttpContext.Session.Set("CurrentUser", ByteConvertHelper.Object2Bytes(user));
            }

            return(Json(myJson));
        }
示例#7
0
        public Dictionary <string, object> changePassword(UserSimpleDto user, string userName, string newPassword, string passwdhash)
        {
            var myJson = new Dictionary <string, object>()
            {
                { "success", false },
                { "message", "更新密碼失敗" }
            };

            //驗證是否為使用者本人
            if (user == null && string.IsNullOrEmpty(passwdhash))
            {
                myJson["message"] = "無法驗證身分";
                return(myJson);
            }


            var getUser = _repository_user.FirstOrDefault(o => o.UserName == userName);

            if (getUser == null)
            {
                myJson["message"] = "無法驗證身分";
                return(myJson);
            }

            if (user != null)
            {
                //如果使用者已經登入,允許其直接更改密碼
                if (user.UserName == userName)
                {
                    UpdatePwd(newPassword, getUser);
                    myJson["success"] = true;
                    myJson["message"] = "操作成功";
                }
            }

            //比對雜湊碼
            if (getUser.PasswordHash == passwdhash)
            {
                UpdatePwd(newPassword, getUser);
                myJson["success"] = true;
                myJson["message"] = "操作成功";
            }

            return(myJson);
        }
示例#8
0
        public ActionResult Create([FromBody] RoleDto role)
        {
            byte[] userObject = null;
            HttpContext.Session.TryGetValue("CurrentUser", out userObject);
            UserSimpleDto UserName = null;

            if (userObject != null)
            {
                UserName = ByteConvertHelper.Bytes2Object <UserSimpleDto>(userObject);
                //寫入目前登入帳號
                role.CreateUser = UserName.UserName;
                role.UpdateUser = UserName.UserName;
            }

            var myJson = _service.Create_Role(role);

            return(Json(myJson));
        }