Inheritance: MembershipProvider
Example #1
0
        //preenche a tela inicial com informaçoes assicronas
        //public JsonResult GetTotalRecebidas(Int16 id = 0)
        //{
        //    Int16 repreid = Domain.Util.valida.getRepresentanteID(User.Identity.Name);

        //    //busca o total de vendas
        //    List<Fechamento> lst = new List<Fechamento>();
        //    lst = ServiceFechamento.getFechamentoRecebidasTotal(DateTime.Now.Month, repreid);

        //    var tt = (from x in lst select x.ValorComissao).Sum();

        //    string ttf = String.Format("{0:C}", tt);

        //    return Json(ttf, JsonRequestBehavior.AllowGet);
        //}

        //preenche a tela inicial com informaçoes assicronas
        //public JsonResult GetTotalVendasByClientes(Int16 id = 0)
        //{
        //    //string tt = string.Empty;
        //    Int16 repreid = Domain.Util.valida.getRepresentanteID(User.Identity.Name);

        //    //busca o total de vendas
        //    List<Compra> lst = new List<Compra>();
        //    lst = ServiceCompra.getComprasTotal(DateTime.Now.Month, repreid);

        //    var agcli = from p in lst group p by p.clienteid into g select new { descr = g.Key, qtde = g.Count()};

        //    var tt = agcli.Count();


        //    return Json(tt, JsonRequestBehavior.AllowGet);
        //}



        //preenche a tela inicial com informaçoes assicronas
        //public JsonResult GetTotalFechadas(Int16 id = 0)
        //{
        //    Int16 repreid = Domain.Util.valida.getRepresentanteID(User.Identity.Name);

        //    //busca o total de vendas
        //    List<Fechamento> lst = new List<Fechamento>();
        //    lst = ServiceFechamento.getFechamentoTotal(DateTime.Now.Month, repreid);

        //    var tt = (from x in lst select x.ValorComissao).Sum();

        //    string ttf = String.Format("{0:C}", tt);

        //    return Json(ttf, JsonRequestBehavior.AllowGet);
        //}

        ////preenche a tela inicial com informaçoes assicronas
        //public JsonResult GetTotalVendas(Int16 id = 0)
        //{
        //    Int16 repreid = Domain.Util.valida.getRepresentanteID(User.Identity.Name);

        //    //busca o total de vendas
        //    List<Compra> lst = new List<Compra>();
        //    lst = ServiceCompra.getComprasTotal(DateTime.Now.Month, repreid);

        //    var tt = (from x in lst select x.ValorComissao).Sum();

        //    string ttf = String.Format("{0:C}", tt);

        //    return Json(ttf, JsonRequestBehavior.AllowGet);
        //}


        public ActionResult Logout()
        {
            CustomMembershipProvider auth = new CustomMembershipProvider();

            auth.Logout();
            return(Redirect(Domain.Util.config.UrlSite + "Home/Index"));
        }
Example #2
0
        public ActionResult Register(RegisterViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var anyUser = userService.GetAllUserEntities().Any(u => u.Email.Contains(viewModel.Email));

                if (anyUser)
                {
                    ModelState.AddModelError("", "User with this address already registered.");
                    return(View(viewModel));
                }

                if (ModelState.IsValid)
                {
                    CustomMembershipProvider pr = new CustomMembershipProvider();
                    var membershipUser          = pr.CreateUser(viewModel.Login,
                                                                Crypto.HashPassword(viewModel.Password), viewModel.Email, viewModel.Name);


                    if (membershipUser != null)
                    {
                        FormsAuthentication.SetAuthCookie(viewModel.Login, false);
                        return(RedirectToAction("Index", "Test"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Error registration.");
                    }
                }
            }
            return(View(viewModel));
        }
Example #3
0
        public void When_ValidateUser_is_called_with_a_valid_UserName_and_a_valid_Password_then_true_is_returned()
        {
            const string decryptedPassword = "******";
            var          user = UserCreator.CreateSingle();

            UserProcess
            .Expect(process =>
                    process.GetUserByLoginName(user.Login.LoginName))
            .Return(user)
            .Repeat.Once();
            UserProcess.Replay();

            CryptographyProcess
            .Expect(process => process.Decrypt(user.Login.Password))
            .Return(decryptedPassword)
            .Repeat.Once();
            CryptographyProcess.Replay();

            var result = CustomMembershipProvider.ValidateUser(user.Login.LoginName, decryptedPassword);

            UserProcess.VerifyAllExpectations();
            CryptographyProcess.VerifyAllExpectations();

            Assert.IsTrue(result);
        }
Example #4
0
        public ActionResult Register(RegisterModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var anyUser = unitOfWork.Users.RetreiveAll().Any(u => u.Login.Contains(viewModel.Login));

                if (anyUser)
                {
                    ModelState.AddModelError("", "User with this address already registered.");
                    return(View(viewModel));
                }

                if (ModelState.IsValid)
                {
                    CustomMembershipProvider pr = new CustomMembershipProvider();
                    var membershipUser          = pr.CreateUser(viewModel.Name,
                                                                Crypto.HashPassword(viewModel.Password), viewModel.Login);


                    if (membershipUser != null)
                    {
                        FormsAuthentication.SetAuthCookie(viewModel.Login, false);
                        return(RedirectToAction("Index", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Error registration.");
                    }
                }
            }
            return(View(viewModel));
        }
Example #5
0
        public ActionResult ResetPassword(string userId, string password)
        {
            if (Request.IsAuthenticated)
            {
                return(RedirectToAction("Main", "Main"));
            }
            if (userId != null && password != null)
            {
                int idUser;
                if (Int32.TryParse(userId, out idUser))
                {
                    User user = myOSBB.Users.FirstOrDefault(u => u.Id == idUser);
                    if (user.CodeForResetPassword == password)
                    {
                        ViewBag.UserId            = user.Id;
                        user.CodeForResetPassword = null;
                        CustomMembershipProvider customMembershipProvider = new CustomMembershipProvider();
                        customMembershipProvider.UpdateUser(user.Id, user.Login, user.Password,
                                                            user.FirstName, user.LastName, user.MiddleName, user.Email, user.Phone, user.CodeForResetPassword);
                        return(View());
                    }
                    else
                    {
                        return(RedirectToAction("Main", "Main"));
                    }
                }
                else
                {
                    return(RedirectToAction("Main", "Main"));
                }
            }

            return(RedirectToAction("Main", "Main"));
        }
        public void ProcessRequest(HttpContext context)
        {
            var id = Guid.Parse(context.Request["treeItemId"]);

            using (var db = new OrganizerEntities())
            {
                var item = db.TreeItems.Find(id);
                CustomMembershipProvider.ValidateAccessToTreeItem_ReturnActiveAuthEntity(item, db, true);
                if (item.ParentId == null)
                {
                    throw new Exception("Can't delete root node");
                }

                var children = new List <TreeItem>();
                GetTreeItems.GetChildTreeItemsReadonlyHtml(id, db, children, false, true, null, true);
                for (int i = children.Count - 1; i >= 0; i--) // need to delete in this order to avoid FK errors
                {
                    db.TreeItems.Remove(children[i]);
                    db.SaveChanges();
                }

                var previousSibling = db.TreeItems.FirstOrDefault(x => x.NextSiblingId == id);
                if (previousSibling != null)
                {
                    previousSibling.NextSiblingId = item.NextSiblingId;
                    db.SaveChanges();
                }

                db.TreeItems.Remove(item);
                db.SaveChanges();
            }

            context.Response.ContentType = "text/plain";
            context.Response.Write("OK");
        }
        public ActionResult Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            else
            {
                bool isSuccess = false;
                var  user      = new CustomMembershipProvider().GetUserByEmail(model.Email, model.Password, out isSuccess);
                if (isSuccess && user != null)
                {
                    FormsAuthentication.SetAuthCookie(user.UserName, model.RememberMe);
                    switch (user.UserRoles)
                    {
                    case "ADMIN": return(RedirectToAction("Index", "Admin"));

                    case "CUSTOMER": return(RedirectToAction("Index", "Customer"));

                    default: return(RedirectToAction("Index", "Home"));
                    }
                }
                return(View(model));
            }
        }
Example #8
0
        public ActionResult LogIn(UserLoginView ULV, string returnUrl)
        {
            CustomMembershipProvider cs = new CustomMembershipProvider();

            if (ModelState.IsValid && cs.ValidateUser(ULV.LoginName, ULV.Password))
            {
                UserManager UM       = new UserManager();
                string      password = UM.GetUserPassword(ULV.LoginName);

                if (string.IsNullOrEmpty(password))
                {
                    ModelState.AddModelError("", "The user login or password provided is incorrect.");
                }
                else
                {
                    if (Crypto.VerifyHashedPassword(password, ULV.Password))
                    {
                        FormsAuthentication.SetAuthCookie(ULV.LoginName, false);
                        return(RedirectToAction("Welcome", "Home"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "The password provided is incorrect.");
                    }
                }
                string[] roless = UM.GetRolesForUser(ULV.LoginName);
            }

            // If we got this far, something failed, redisplay form
            return(View(ULV));
        }
Example #9
0
        public void ProcessRequest(HttpContext context)
        {
            using (var reader = new StreamReader(context.Request.InputStream))
            {
                var xml = XDocument.Parse(reader.ReadToEnd());
                reader.Close();

                var id = Guid.Parse(xml.Root.Elements().First(e => (string)e.Attribute("name") == "Id").Value);
                using (var db = new OrganizerEntities())
                {
                    var item = db.TreeItems.Find(id);
                    if (item == null)
                    {
                        throw new Exception("item is not found by ID = " + id);
                    }
                    CustomMembershipProvider.ValidateAccessToTreeItem_ReturnActiveAuthEntity(item, db, true);
                    ServerSideProcedures.XmlToItem(item, xml.Root, "LastModifiedUtc", "IsSelected", "Id", "ParentId", "NextSiblingId");
                    item.LastModifiedUtc = DateTime.UtcNow;
                    db.SaveChanges();
                }

                context.Response.ContentType = "text/plain";
                context.Response.Write("OK");
            }
        }
Example #10
0
        public ActionResult Register(RegisterViewModel viewModel)
        {
            UserDTO anyUser = _userService.GetAllUsers().FirstOrDefault(u => u.Email == viewModel.Email);

            if (!ReferenceEquals(anyUser, null))
            {
                ModelState.AddModelError("", "User with this address already registered.");
                return(View(viewModel));
            }

            if (ModelState.IsValid)
            {
                CustomMembershipProvider provider = new CustomMembershipProvider(_userService, _roleService);
                bool membershipUserCreated        = provider.CreateUser(viewModel.Name, viewModel.Email, viewModel.Password, viewModel.Age);

                if (membershipUserCreated == true)
                {
                    FormsAuthentication.SetAuthCookie(viewModel.Email, false);
                    return(RedirectToAction("Home", "Test"));
                }
                else
                {
                    ModelState.AddModelError("", "Error registration.");
                }
            }
            return(View(viewModel));
        }
Example #11
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/xml";
            var thisTreeItemId = Guid.Parse(context.Request["thisTreeItemId"]);

            using (var db = new OrganizerEntities())
            {
                var thisTreeItem = db.TreeItems.Find(thisTreeItemId);
                CustomMembershipProvider.ValidateAccessToTreeItem_ReturnActiveAuthEntity(thisTreeItem, db, true);
                var thisTreeItemChildren = new List <TreeItem>();
                GetTreeItems.GetChildTreeItemsReadonlyHtml(thisTreeItemId, db, thisTreeItemChildren);
                var newItem = new TreeItem
                {
                    CreatedUtc      = DateTime.UtcNow,
                    Id              = Guid.NewGuid(),
                    LastModifiedUtc = DateTime.UtcNow,
                    ParentId        = thisTreeItem.Id,
                    NextSiblingId   = thisTreeItemChildren.Count != 0 ? (Guid?)thisTreeItemChildren[0].Id : null,
                    AutoLoadNestedChildrenIfNotRoot = true
                };
                db.TreeItems.Add(newItem);
                db.SaveChanges();

                context.Response.Write(ServerSideProcedures.DataObjectToXml(newItem));
            }
        }
Example #12
0
        private void ManageUsers_Load(object sender, EventArgs e)
        {
            btnAddOneUser.Enabled    = false;
            btnRemoveOneUser.Enabled = false;

            rdAddInAllRoles.Checked = false;
            rdAddInOneRole.Checked  = true;

            // Initialise Custom Provider
            userProvider = (CustomMembershipProvider)Membership.Providers["CustomMembershipProvider"];
            roleProvider = (CustomRoleProvider)Roles.Providers["CustomRoleProvider"];

            //Initialise connection string
            string connectionString = ConfigurationManager.ConnectionStrings["SQLServerConnectionString"].ConnectionString;

            ImplementCustomConnection.Instance.Initialise(connectionString, CustomConnectionType.SQLServer);

            try
            {
                loadUsers();
                loadRoles();
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show("Unable to load Users or Roles from Datasource, " + ex.Message, "Loading users and roles", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (SqlException ex)
            {
                MessageBox.Show("Unable to load Users or Roles from Datasource, " + ex.Message, "Loading users and roles", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Unable to load Users or Roles from Datasource, " + ex.Message, "Loading users and roles", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Example #13
0
        private void btnSaveUser_Click(object sender, EventArgs e)
        {
            try
            {
                MembershipCreateStatus status = MembershipCreateStatus.Success;

                userProvider.CreateUser(txtUsername.Text, txtPassword.Text, txtEmail.Text, txtPasswordQuestion.Text, txtPasswordAnswer.Text, chkApproved.Checked, null, out status);

                if (status == MembershipCreateStatus.Success)
                {
                    MessageBox.Show("User created successfully", "Create user", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    loadUsers();
                }
                else
                {
                    MessageBox.Show("Failed to create user, " + CustomMembershipProvider.ErrorMessageFromMembershipCreateStatus(status), "Create user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show("Failed to create user, " + ex.Message, "Create user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (SqlException ex)
            {
                MessageBox.Show("Failed to create user, " + ex.Message, "Create user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to create user, " + ex.Message, "Create user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Example #14
0
        public void When_CreatUser_is_called_with_an_emailAddress_that_already_exists_then_the_MembershipCreateStatus_is_DuplicateEmail()
        {
            UserProcess
            .Expect(process => process.GetUserByLoginName(Arg <string> .Is.Anything))
            .Return(null)
            .Repeat.Once();
            UserProcess
            .Expect(process => process.GetUserByEmailAddress(Arg <string> .Is.Anything))
            .Return(UserCreator.CreateSingle())
            .Repeat.Once();
            UserProcess.Replay();

            MembershipCreateStatus createStatus;
            var result = CustomMembershipProvider.CreateUser(
                string.Empty,
                string.Empty,
                string.Empty,
                string.Empty,
                string.Empty,
                false,
                Guid.Empty,
                out createStatus);

            Assert.IsNull(result);
            Assert.AreEqual(MembershipCreateStatus.DuplicateEmail, createStatus);
        }
Example #15
0
        //変更内容を自動的で実行されるもの
        protected override void Seed(TodoApp.Models.TodoesContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data. E.g.
            //
            //    context.People.AddOrUpdate(
            //      p => p.FullName,
            //      new Person { FullName = "Andrew Peters" },
            //      new Person { FullName = "Brice Lambson" },
            //      new Person { FullName = "Rowan Miller" }
            //    );
            //
            User admin = new User()
            {
                Id       = 1,
                UserName = "******",
                Password = "******",
                Roles    = new List <Role>()
            };

            User kimura = new User()
            {
                Id       = 2,
                UserName = "******",
                Password = "******",
                Roles    = new List <Role>()
            };



            Role administrators = new Role()
            {
                Id       = 1,
                RoleName = "Administrators",
                Users    = new List <User>()
            };

            Role users = new Role()
            {
                Id       = 2,
                RoleName = "Users",
                Users    = new List <User>()
            };

            var membershipProvider = new CustomMembershipProvider();

            admin.Password  = membershipProvider.GeneratePasswordHash(admin.UserName, admin.Password);
            kimura.Password = membershipProvider.GeneratePasswordHash(kimura.UserName, kimura.Password);

            admin.Roles.Add(administrators);
            administrators.Users.Add(admin);
            kimura.Roles.Add(administrators);
            administrators.Users.Add(kimura);

            context.Users.AddOrUpdate(user => user.Id, new User[] { admin });
            context.Roles.AddOrUpdate(role => role.Id, new Role[] { administrators, users });
        }
 public void GetAllUsers() {
     var mp = new CustomMembershipProvider();
     var config = new NameValueCollection();
     config["connectionStringName"] = "PetShopSQLServer";
     mp.Initialize("MyMembershipProvider", config);
     int totalRecords;
     MembershipUserCollection users = mp.GetAllUsers(0, 10, out totalRecords);
 }
Example #17
0
        public ActionResult LogOn(LogOnModel model, string returnUrl)
        {
            try
            {
                if (CustomMembershipProvider.ValidateUser(model.UserName, model.Password, model.Type))
                {
                    if (model.Type == (int)TypeUserEnum.Admin)
                    {
                        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                        if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") &&
                            !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
                        {
                            return(Redirect(returnUrl));
                        }

                        return(RedirectToAction("Index", "ContentMenu"));
                    }
                    else
                    {
                        var loggingUser = _personReportService.GetUserByUserName(model.UserName);
                        Session["UserName"] = model.UserName;
                        Session["Name"]     = loggingUser.FullName;
                        Session["Person"]   = loggingUser.PersonId;
                        return(ModelState.JsonValidation(new { Success = true }));
                    }
                }
                else
                {
                    if (model.Type == (int)TypeUserEnum.Admin)
                    {
                        ModelState.AddModelError("Error", "Tên đăng nhập hoặc mật khẩu sai");
                        return(View(model));
                    }
                    else
                    {
                        return(ModelState.JsonValidation(new { Success = true, Error = "Tên đăng nhập hoặc mật khẩu sai" }));
                    }
                }
            }
            catch (Exception ex)
            {
                if (model.Type == (int)TypeUserEnum.Admin)
                {
                    ModelState.AddModelError("Error", ex.Message);
                    return(View("Login", model));
                }
                else
                {
                    return(ModelState.JsonValidation(new { Success = true, Error = ex.Message }));
                }
            }


            // If we got this far, something failed, redisplay form
            return(View(model));
        }
Example #18
0
        public void GetAllUsers()
        {
            var mp     = new CustomMembershipProvider();
            var config = new NameValueCollection();

            config["connectionStringName"] = "PetShopSQLServer";
            mp.Initialize("MyMembershipProvider", config);
            int totalRecords;
            MembershipUserCollection users = mp.GetAllUsers(0, 10, out totalRecords);
        }
Example #19
0
        public static bool Save(string newPass)
        {
            CustomMembershipProvider customMembership = new CustomMembershipProvider();

            if (customMembership.ChangePass(Args.User, newPass))
            {
                return(true);
            }
            return(false);
        }
Example #20
0
        protected override void AdditionalSetup()
        {
            base.AdditionalSetup();

            BandProcess         = MockHelper.CreateAndRegisterMock <IBandProcess>();
            UserProcess         = MockHelper.CreateAndRegisterMock <IUserProcess>();
            UserMapper          = MockHelper.CreateAndRegisterMock <IUserMapper>();
            CryptographyProcess = MockHelper.CreateAndRegisterMock <ICryptographyProcess>();

            CustomMembershipProvider = new CustomMembershipProvider();
        }
Example #21
0
        //マイグレーション実行後に自動で実行される処理
        protected override void Seed(TodoApp.Models.TodoesContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            //初期データ登録処理
            User admin = new User()
            {
                Id       = 1,
                UserName = "******",
                Password = "******",
                Roles    = new List <Role>()
            };
            //一回できたのでもういらない
            //User alu = new User()
            //{
            //    Id = 2 ,
            //    UserName = "******",
            //    Password = "******",
            //    Roles = new List<Role>()
            //};
            Role administrators = new Role()
            {
                Id       = 1,
                RoleName = "Administrators",
                Users    = new List <User>()
            };
            Role users = new Role()
            {
                Id       = 2,
                RoleName = "users",
                Users    = new List <User>()
            };

            //adminのパスワードハッシュ化
            var membershipProvider = new CustomMembershipProvider();

            admin.Password = membershipProvider.GeneratePasswordHash(admin.UserName, admin.Password);

            admin.Roles.Add(administrators);
            administrators.Users.Add(admin);
            //alu.Roles.Add(users);
            //users.Users.Add(alu);

            //ユーザとロールをDBに反映
            //Seedクラスは引数にコンテキストクラスを持っている
            //コンテキストにユーザとロールを反映。
            //ddOrUpdate→IDなければ追加、あれば更新。
            //context.Users.AddOrUpdate(user => user.Id , new User[] { admin, alu });
            context.Users.AddOrUpdate(user => user.Id, new User[] { admin });
            context.Roles.AddOrUpdate(role => role.Id, new Role[] { administrators, users });
        }
Example #22
0
        protected override void Seed(TodoApp.Models.TodoesContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            User admin = new User()
            {
                Id       = 1,
                UserName = "******",
                Password = "******",
                Roles    = new List <Role>()
            };

            ///下記処理は検証に使用していた為、不要
            //User kimura = new User()
            //{
            //    Id = 2,
            //    UserName = "******",
            //    Password = "******",
            //    Roles = new List<Role>()
            //};

            Role administrators = new Role()
            {
                Id       = 1,
                RoleName = "Administrators",
                Users    = new List <User>()
            };

            Role users = new Role()
            {
                Id       = 2,
                RoleName = "Users",
                Users    = new List <User>()
            };

            //adminのパスワードを取得する為にインスタンス生成しておく
            var membershipProvider = new CustomMembershipProvider();

            //adminのパスワードをハッシュ化し、取得する
            admin.Password = membershipProvider.GeneratePasswordHash(admin.UserName, admin.Password);

            admin.Roles.Add(administrators);
            administrators.Users.Add(admin);
            ///下記処理も検証に使用ていた為、不要
            //kimura.Roles.Add(users);
            //users.Users.Add(kimura);

            //下記の第二引数のkimuraを削除
            context.Users.AddOrUpdate(user => user.Id, new User[] { admin });
            context.Roles.AddOrUpdate(role => role.Id, new Role[] { administrators, users });
        }
        protected override void Initialize(RequestContext requestContext)
        {
            if (MembershipService == null)
            {
                MembershipService = new CustomMembershipProvider();
            }
            //if (AuthorizationService == null)
            //    AuthorizationService = new CustomRoleProvider();

            base.Initialize(requestContext);
        }
Example #24
0
        public static bool Save(string oldPass, string newPass)
        {
            string userName = System.Web.HttpContext.Current.User.Identity.Name;
            CustomMembershipProvider customMembership = new CustomMembershipProvider();

            if (customMembership.ChangePassword(userName, oldPass, newPass))
            {
                System.Web.Security.FormsAuthentication.SignOut();
                return(true);
            }
            return(false);
        }
Example #25
0
 public bool ValidateAdminUser(string userName, string password)
 {
     if (String.IsNullOrEmpty(userName))
     {
         throw new ArgumentException("Value cannot be null or empty.", "userName");
     }
     if (String.IsNullOrEmpty(password))
     {
         throw new ArgumentException("Value cannot be null or empty.", "password");
     }
     return(CustomMembershipProvider.ValidateAdminUser(userName, password));
 }
Example #26
0
        public void When_ValidateUser_is_called_with_an_invalid_UserName_then_false_is_returned()
        {
            UserProcess
            .Expect(process => process.GetUserByLoginName(Arg <string> .Is.Anything))
            .Return(null)
            .Repeat.Once();
            UserProcess.Replay();

            var result = CustomMembershipProvider.ValidateUser("userName", "password");

            Assert.IsFalse(result);
        }
Example #27
0
 public DataManager(
     ICustomerRepository customerRepository,
     IOrderRepository orderRepository,
     IProductRepository productRepository,
     IProductsCustomersRepository productsCustomersRepository,
     CustomMembershipProvider provider)
 {
     _customerRepository          = customerRepository;
     _orderRepository             = orderRepository;
     _productRepository           = productRepository;
     _productsCustomersRepository = productsCustomersRepository;
     _provider = provider;
 }
Example #28
0
        public static MvcHtmlString SubmitCr(this HtmlHelper helper, string id, string text, string uniqueNameElement, bool isConfirmButton = false, string name = "", string toolTip = "", string style = "", object htmlAttributes = null)
        {
            if (string.IsNullOrEmpty(uniqueNameElement))
            {
                return(SubmitCr(helper, id, name, text, isConfirmButton, toolTip, style, htmlAttributes));
            }

            else
            {
                return(Core.Service.AppBase.HasCurrentUserAccess(CustomMembershipProvider.GetUserIdCookie() ?? 0, null, uniqueNameElement) ?
                       SubmitCr(helper, id, name, text, isConfirmButton, toolTip, style, htmlAttributes) : SubmitCr(helper, id, name, text, isConfirmButton, toolTip, style, htmlAttributes, false));
            }
        }
Example #29
0
        public static void UserAdd()
        {
            UserArgs args = (UserArgs)PSCDialog.DataShare;
            User     user = ((UserArgs)PSCDialog.DataShare).User;
            CustomMembershipProvider customMembership = new CustomMembershipProvider();

            user.Password = customMembership.TransformPassword(user.Password);
            bool validate = customMembership.ValidateUserNameAndEmail(user);

            if (user.Name.Trim() == "" || validate == false)
            {
                return;
            }
            UserList.AddDB(user);
            // roles of user
            UserInRoleCollection userInRoleCollection = new UserInRoleCollection();
            UserInRole           userInRole           = null;
            string subdomain = SessionHelper.GetSession(SessionKey.SubDomain);

            if (!(subdomain == Guid.Empty.ToString())) // thuoc it nhat 1 subdomain
            {
                UserInSubDomainCollection userInSubDomainCollection = new UserInSubDomainCollection();
                UserInSubDomain           userInSubDomain           = new UserInSubDomain();
                userInSubDomain.UserId      = user.Id;
                userInSubDomain.SubDomainId = new Guid(subdomain);
                userInSubDomainCollection.AddDB(userInSubDomain);
                // administrators
                if (args.IsAdministrator)
                {
                    Role roleAdministrator = RoleCollection.GetRoleCollection()
                                             .Single(r => r.Name == System.Configuration.ConfigurationManager.AppSettings["GroupAdmin"]);
                    userInRole        = new UserInRole();
                    userInRole.RoleId = roleAdministrator.Id;
                    userInRole.UserId = user.Id;
                    userInRoleCollection.AddDB(userInRole);
                }
            }
            else // subdomain : all
            {
                // administrators
                if (args.IsAdministrator)
                {
                    Role roleAdministrator = RoleCollection.GetRoleCollection().Single(r => r.Name == System.Configuration.ConfigurationManager.AppSettings["GroupAdmin"]);
                    userInRole        = new UserInRole();
                    userInRole.RoleId = roleAdministrator.Id;
                    userInRole.UserId = user.Id;
                    userInRoleCollection.AddDB(userInRole);
                }
            }
            DataStatic["DisplayUserList"] = null;
        }
Example #30
0
 public ActionResult ChangePassword(ChangePasswordModel PasswordModel, string command)
 {
     if (string.IsNullOrEmpty(command))
     {
         if (ModelState.IsValid)
         {
             bool PasswordChangedSucceeded = false;
             try
             {
                 if (PasswordModel.NewPassword == PasswordModel.ConfirmNewPassword && Regex.Match(PasswordModel.NewPassword, @"^.*(?=.{6,20})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$").Success)
                 {
                     var            md5HashOld  = CustomMembershipProvider.GetMd5Hash(PasswordModel.OldPassword);
                     var            md5HashNew  = CustomMembershipProvider.GetMd5Hash(PasswordModel.NewPassword);
                     MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */);
                     PasswordChangedSucceeded = currentUser.ChangePassword(md5HashOld, md5HashNew);
                 }
                 else if (!Regex.Match(PasswordModel.NewPassword, @"^.*(?=.{6,20})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$").Success)
                 {
                     TempData["AlertMessage"] = "Password must be 6 to 20 alphanumeric characters including one uppercase letter, one lowercase letter and one special character.";
                     return(View(PasswordModel));
                 }
                 else
                 {
                     TempData["AlertMessage"] = "Confirm Password does not match with new Password.";
                     return(View(PasswordModel));
                 }
             }
             catch (Exception)
             {
                 PasswordChangedSucceeded = false;
             }
             if (PasswordChangedSucceeded)
             {
                 FormsAuthentication.SignOut();
                 Session.Abandon();
                 return(RedirectToAction("Login", "Account", new { isChanged = "1" }));
             }
             else
             {
                 ModelState.AddModelError("OldPassword", "The current password is incorrect.");
             }
         }
         //when something went wrong then return view with model
         return(View(PasswordModel));
     }
     else
     {
         ModelState.Clear();
         return(RedirectToAction("Index", "Home"));
     }
 }
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/xml";

            var acceptEncoding = context.Request.Headers["Accept-Encoding"];

            if (!string.IsNullOrEmpty(acceptEncoding))
            {
                // The two common compression formats in web are GZip and Deflate
                if (acceptEncoding.IndexOf("gzip", StringComparison.OrdinalIgnoreCase) > -1)
                {
                    // Read the response using a GZip compressor ,   and replace the output with compressed result
                    context.Response.Filter = new GZipStream(context.Response.Filter, CompressionMode.Compress);
                    // Tell the client the ouput they got is compressed in GZip
                    context.Response.AppendHeader("Content-Encoding", "gzip");
                }
                else if (acceptEncoding.IndexOf("deflate", StringComparison.OrdinalIgnoreCase) > -1)
                {
                    // Read the response using a Deflate compressor ,   and replace the output with compressed result
                    context.Response.Filter = new DeflateStream(context.Response.Filter, CompressionMode.Compress);
                    // Tell the client the ouput they got is compressed in Deflate
                    context.Response.AppendHeader("Content-Encoding", "deflate");
                }
            }


            var        rootTreeItemId = Guid.Parse(context.Request["rootTreeItemId"]);
            var        result         = new List <TreeItem>();
            AuthEntity user           = null;

            using (var db = new OrganizerEntities())
            {
                var item = db.TreeItems.FirstOrDefault(x => x.Id == rootTreeItemId);
                if (item != null)
                {
                    user = CustomMembershipProvider.ValidateAccessToTreeItem_ReturnActiveAuthEntity(item, db, false);
                    user.LastActiveAtUtc = DateTime.UtcNow;
                    db.SaveChanges();

                    result.Add(item);
                    GetChildTreeItemsReadonlyHtml(item.Id, db, result, true, true);
                }
            }
            if (result.Count != 0 && user != null)
            {
                context.Response.Write(ServerSideProcedures.ItemsListToXml(result[0], result,
                                                                           null// (x) => new Dictionary<string, string> {{"IsSelected", ((TreeItem)x).Id == user.SelectedTreeItemId ? "True" : "False"}}
                                                                           ));
            }
        }
Example #32
0
 public AccountMembershipService()
 {
     _provider = new CustomMembershipProvider() ;
 }