public Task <ApplicationUser> GetUserByUsernameAsync(string userName)
        {
            var user    = m_userManager.GetUserByUsername(userName).Result;
            var appUser = Mapper.Map <ApplicationUser>(user);

            return(Task.FromResult(appUser));
        }
Exemple #2
0
        public bool CheckPartnerAvailability(string username)
        {
            User partner = userManager.GetUserByUsername(username);

            if (partner.IsLoginToDesktop == true && !partner.ConnectionsAsSharer.Any(w => w.IsConnectionEnded == false) && !partner.ConnectionsAsViewer.Any(w => w.IsConnectionEnded == false))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemple #3
0
        /// <summary>
        /// 检查是否登录成功
        /// </summary>
        /// <param name="source"></param>
        /// <param name="args"></param>
        protected void CheckLogin_ServerValidate(object source, ServerValidateEventArgs args)
        {
            try
            {
                var user = UserManager.GetUserByUsername(UserName.Text.Trim());       //获取用户
                args.IsValid = user.Password == Password.Text.Trim();                 //根据密码是否相等判断是否成功登录
                if (!args.IsValid)
                {
                    return;                                //验证失败返回
                }
                Session.Add("user", user);

                if (!RememberMe.Checked)
                {
                    return;
                }
                Response.Cookies.Add(new HttpCookie("user")
                {
                    Expires = DateTime.Now.AddDays(7),                     //7日后过期
                    Values  =
                    {
                        ["password"] = ((User)Session["user"]).Password,
                        ["username"] = ((User)Session["user"]).Username
                    }
                });
            }
            catch
            {
                args.IsValid = false;
            }
        }
Exemple #4
0
        public IActionResult CreateTask(TaskVM task)
        {
            if (ModelState.IsValid)
            {
                Models.Task taskdb = new Models.Task();
                taskdb.Completed   = false;
                taskdb.Date        = task.Date;
                taskdb.Description = task.Description;
                taskdb.Finish      = task.Finish;
                taskdb.Priority    = task.Priority;
                taskdb.Start       = task.Start;
                taskdb.Title       = task.Title;
                User user = UserManager.GetUserByUsername(User.Identity.Name);
                taskdb.UserId = user.Id;
                taskdb.User   = user;

                TaskManager.AddTask(taskdb);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                //TO do error message not valid task
                return(null);
            }
        }
        public IActionResult Login(LoginVM login)
        {
            if (!ModelState.IsValid)
            {
                return(View(login));
            }

            User user = UserManager.GetUserByUsername(login.Username);


            if (user != null && login.Password == user.Password && user.IsActive)
            {
                List <Claim> claims;
                if (user.IsAdmin)
                {
                    claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, user.Username),
                        new Claim(ClaimTypes.Role, "SuperAdmin")
                    };
                }
                else
                {
                    claims = new List <Claim>
                    {
                        new Claim(ClaimTypes.Name, user.Username),
                        new Claim(ClaimTypes.Role, "SimpleUser")
                    };
                }


                var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var authProperties = new AuthenticationProperties
                {
                    AllowRefresh = true,
                    ExpiresUtc   = DateTimeOffset.UtcNow.AddDays(1),
                    IsPersistent = true,
                    IssuedUtc    = DateTimeOffset.UtcNow,
                    //RedirectUri = <string>
                    // The full path or absolute URI to be used as an http
                    // redirect response value.
                };

                HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties);


                return(RedirectToAction("Index", "Home"));
            }
            else if (!user.IsActive)
            {
                // TODO: Retrun message for Deleted account
                return(null);
            }
            else
            {
                // TODO: Return message for wrong username or password
                return(null);
            }
        }
        private async Task <IActionResult> SuccessLogin(string username, string returnUrl)
        {
            var userResult = m_userManager.GetUserByUsername(username);

            if (!userResult.HasError)
            {
                var user = userResult.Result;

                await m_events.RaiseAsync(new UserLoginSuccessEvent(user.Username, user.Id.ToString(), user.Username));

                if (m_interaction.IsValidReturnUrl(returnUrl) || Url.IsLocalUrl(returnUrl))
                {
                    return(Redirect(returnUrl));
                }

                return(Redirect(m_returnUrlConfiguration.DefaultRedirectUrl));
            }

            if (Url.IsLocalUrl(returnUrl))
            {
                return(Redirect(returnUrl));
            }

            return(Redirect(m_returnUrlConfiguration.DefaultRedirectUrl));
        }
        public LoginResponseObject Login(LoginFormData lgn, bool IsDesktop = false)
        {
            TransactionObject   loginResponse = CheckCreedientals(lgn);
            LoginResponseObject response      = new LoginResponseObject
            {
                TransactionObject = loginResponse
            };

            if (loginResponse.IsSuccess)
            {
                User currentUser = userManager.GetUserByUsername(lgn.Username);
                SetOnlineStatus(userManager.GetUser(currentUser.ID), true, IsDesktop);

                uow.Save();
                response.ID = currentUser.ID;
            }
            return(response);
        }
        public async Task <ActionResult> CreateUser([FromBody][Required] CreateUserContract createUserContract)
        {
            if (m_logger.IsEnabled(LogLevel.Information))
            {
                var passwordBackup = createUserContract.Password;
                createUserContract.Password = "******"; // Password can not be logged!

                m_logger.LogInformation(GetMethodCalledLoggingString(null, createUserContract));
                createUserContract.Password = passwordBackup;
            }

            var userModel = Mapper.Map <UserModel>(createUserContract.User);

            userModel.Username = string.IsNullOrEmpty(createUserContract.UserName)
                ? m_userManager.GenerateUsername().Result
                : createUserContract.UserName;

            var appUser = Mapper.Map <ApplicationUser>(userModel);

            appUser.EmailConfirmCode = await m_identityUserManager.GenerateEmailConfirmationTokenAsync(appUser);

            appUser.PhoneNumberConfirmCode = await m_identityUserManager.GeneratePhoneConfirmationTokenAsync(appUser);

            var result = await m_identityUserManager.CreateAsync(appUser, createUserContract.Password);

            if (!result.Succeeded)
            {
                var error = result.Errors.FirstOrDefault();
                return(Error(error?.Description, error?.Code));
            }

            var user = m_identityUserManager.FindByNameAsync(appUser.UserName).Result;

            _ = m_identityUserManager.SendConfirmContactsCodesAsync(user); //Ignore error, user can use Resend button

            m_userManager.AddRoleToUser(user.Id, RoleNames.RegisteredUser);

            var userResult = m_userManager.GetUserByUsername(appUser.UserName);

            var userContract = Mapper.Map <UserContract>(userResult.Result);

            return(Json(userContract));
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                return;
            }

            var mgr = new UserManager(Properties.Settings.Default.ConStr);

            filterContext.Controller.ViewBag.User = mgr.GetUserByUsername(filterContext.HttpContext.User.Identity.Name);
        }
        public IActionResult Register(RegisterVM register)
        {
            bool usernameUnique = UserManager.GetUserByUsername(register.Username) == null;


            if (ModelState.IsValid && usernameUnique)
            {
                User user = new User();
                user.IsActive = true;
                user.IsAdmin  = false;
                user.Name     = register.Name;
                user.Password = register.Password;
                user.Surname  = register.Surname;
                user.Username = register.Username;
                user.Email    = register.Email;
                UserManager.AddUser(user);

                List <Claim> claims = new List <Claim>
                {
                    new Claim(ClaimTypes.Name, user.Username),
                    new Claim(ClaimTypes.Role, "SuperAdmin")
                };
                var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);

                var authProperties = new AuthenticationProperties
                {
                    AllowRefresh = true,
                    ExpiresUtc   = DateTimeOffset.UtcNow.AddDays(1),
                    IsPersistent = true,
                    IssuedUtc    = DateTimeOffset.UtcNow,
                    //RedirectUri = <string>
                    // The full path or absolute URI to be used as an http
                    // redirect response value.
                };

                HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties);
                return(RedirectToAction("Index", "Home"));
            }
            else if (!usernameUnique)
            {
                //To do error message for Username allready taken
                return(View(register));
            }
            else
            {
                //To Do error message not valid
                return(View(register));
            }
        }
Exemple #11
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            User user   = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.User);
            User userDB = manager.GetUserByUsername(user.Username);

            if (userDB != null)
            {
                response.ReturnCode   = (short)ReturnCode.Fail;
                response.DebugMessage = "用户名重复";
            }
            else
            {
                user.Password = MD5Tool.GetMD5(user.Password);
                manager.AddUser(user);
                response.ReturnCode = (short)ReturnCode.Success;
            }
        }
Exemple #12
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            User userClient = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.Register);
            User userServer = manager.GetUserByUsername(userClient.Username);

            if (userServer != null)  //用户名重复
            {
                response.ReturnCode   = (short)ReturnCode.Failure;
                response.DebugMessage = "用户名重复";
            }
            else  //存入数据库
            {
                userClient.Password = Md5Tool.GetMd5(userClient.Password);  //md5加密
                manager.AddUser(userClient);
                peer.LoginUser      = userClient;
                response.ReturnCode = (short)ReturnCode.Success;
            }
        }
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer)
        {
            User userClient = ParameterTool.GetParameter <User>(request.Parameters, ParameterCode.Login);
            User userServer = manager.GetUserByUsername(userClient.Username);

            if (userServer != null && Md5Tool.GetMd5(userClient.Password) == userServer.Password)  //登录成功
            {
                //数据库存在用户
                //md5加密过后的客户端密码与数据库的密码比较
                response.ReturnCode = (short)ReturnCode.Success;
                peer.LoginUser      = userServer; //保存当前用户
            }
            else  //登录失败
            {
                response.ReturnCode   = (short)ReturnCode.Failure;
                response.DebugMessage = "用户名或者密码错误";
            }
        }
Exemple #14
0
 protected void Session_Start(object sender, EventArgs e)
 {
     if (Request.Cookies["user"] != null)             //根据cookie自动登录
     {
         try
         {
             var user = UserManager.GetUserByUsername(Request.Cookies["user"]["username"]); //获取用户
             if (user.Password == Request.Cookies["user"]["password"])                      //根据密码是否相等判断是否成功登录
             {
                 Session.Add("user", user);
             }
         }
         catch                 //出错说明cookie不正确
         {
             Request.Cookies.Remove("user");
         }
     }
 }
Exemple #15
0
        public override void OnHandlerMessage(Photon.SocketServer.OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            Dictionary <byte, object> parameters = request.Parameters;
            object jsonObject = null;

            parameters.TryGetValue((byte)ParameterCode.User, out jsonObject);
            User user   = JsonMapper.ToObject <User>(jsonObject.ToString());
            User userDB = manager.GetUserByUsername(user.Username);

            if (userDB != null && userDB.Password == MD5Tool.GetMD5(user.Password))
            {
                //用户名和密码正确 登录成功
                response.ReturnCode = (short)ReturnCode.Success;
                peer.LoginUser      = userDB;
            }
            else
            {
                response.ReturnCode   = (short)ReturnCode.Fail;
                response.DebugMessage = "用户名或密码错误!";
            }
        }
Exemple #16
0
        public override void OnHandlerMessage(OperationRequest request, OperationResponse response, ClientPeer peer, SendParameters sendParameters)
        {
            Dictionary <byte, object> parameters = request.Parameters;
            object userObj = null;

            parameters.TryGetValue((byte)ParameterCode.User, out userObj);
            User user = JsonMapper.ToObject <User>(userObj.ToString());
            //由名字得到数据库中的user对象
            User userDB = manager.GetUserByUsername(user.Username);

            //数据库中存在对象,并且密码输入正确
            if (userDB != null && userDB.Password == MD5Tools.GetMD5(user.Password))
            {
                //登录取得成功
                response.ReturnCode = (short)ReturnCode.Success;
                peer.LoginUser      = userDB;
            }
            else
            {
                response.ReturnCode   = (short)ReturnCode.Fall;
                response.DebugMessage = "用户名或密码错误";
            }
        }
Exemple #17
0
        public ActionResult Signup(UserViewModels.Signup model)
        {
            UserManager userM = new UserManager(db);

            //check the username for uniqueness
            bool usernameExists = userM.GetUserByUsername(model.Username) != null;

            if (usernameExists)
            {
                ModelState.AddModelError("Username", "Username is not unique");
            }

            //check the email address for uniqueness
            bool emailExists = userM.GetUserByEmail(model.EmailAddress) != null;

            if (emailExists)
            {
                ModelState.AddModelError("EmailAddress", "Email is not unique");
            }

            if (ModelState.IsValid)
            {
                User newUser = userM.CreateNewUser(model.Username, model.EmailAddress, model.Password);

                db.Users.Add(newUser);
                db.SaveChanges();

                EmailManager em = new EmailManager();
                em.SendVerificationEmail(newUser);

                return(RedirectToAction("VerifyEmail"));
            }
            else
            {
                return(View());
            }
        }
        public void GetUserByValidUsernameTest()
        {
            // act
            _userRepositoryMock.Setup(x => x.Get(null, "test")).Returns(new User());
            var userManager = new UserManager(_userRepositoryMock.Object);

            // actual
            var actual = userManager.GetUserByUsername("test", true);

            // assert
            Assert.IsNotNull(actual);
        }
        public void GetUserByInvalidUsernameTest()
        {
            // act
            _userRepositoryMock.Setup(x => x.Get(null, null)).Returns((User) null);
            var userManager = new UserManager(_userRepositoryMock.Object);

            // actual
            var actual = userManager.GetUserByUsername("test", true);

            // assert
            // never reached
        }
        public int RechargeByUserName(string username, double amount)
        {
            User user = UserManager.GetUserByUsername(username);

            return(RechargePrinterQuota(user.CardId, amount));
        }