public void ChangeAppNameTest()
        {
            var mongoProvider = new MongoMembershipProvider();
            var config = new NameValueCollection
            {
                {"connectionStringName", ConfigurationManager.ConnectionStrings[0].Name},
                {"requiresUniqueEmail", "false"},
                {"passwordStrengthRegularExpression", "bar.*"},
                {"passwordFormat", "Clear"}
            };
            mongoProvider.Initialize(null, config);
            MembershipCreateStatus status;
            mongoProvider.CreateUser("foo", "bar!bar", "*****@*****.**", null, null, true, null, out status);
            Assert.AreEqual(MembershipCreateStatus.Success, status);

            var provider2 = new MongoMembershipProvider();
            NameValueCollection config2 = new NameValueCollection
            {
                {"connectionStringName", ConfigurationManager.ConnectionStrings[0].Name},
                {"requiresUniqueEmail", "false"},
                {"applicationName", "/myapp"},
                {"passwordStrengthRegularExpression", "foo.*"},
                {"passwordFormat", "Clear"}
            };
            provider2.Initialize(null, config2);
            provider2.CreateUser("foo2", "foo!foo", "*****@*****.**", null, null, true, null, out status);
            Assert.AreEqual(MembershipCreateStatus.Success, status);

            mongoProvider.ApplicationName = "/myapp";
            Assert.IsFalse(mongoProvider.ValidateUser("foo", "bar!bar"));
            Assert.IsTrue(mongoProvider.ValidateUser("foo2", "foo!foo"));
        }
Exemplo n.º 2
0
        public LoginResponse Login(string userName, string password)
        {
            //chech user premissoins.
            MongoMembershipProvider mp = new MongoMembershipProvider();

            if (mp.ValidateUser(userName, password))
            {
                var sc = new SessionContext()
                {
                    SessionId = Guid.NewGuid().ToString(), UserId = userName, LastActivity = DateTime.Now
                };
                Sessions.Add(sc);
                return(new LoginResponse()
                {
                    SessionId = sc.SessionId
                });
            }
            return(new LoginResponse()
            {
                ErrorMessage = "Incorrect login / password"
            });
        }
        public void CrossAppLoginTest()
        {
            var mongoProvider = new MongoMembershipProvider();

            NameValueCollection config = new NameValueCollection
            {
                {"connectionStringName", ConfigurationManager.ConnectionStrings[0].Name},
                {"passwordStrengthRegularExpression", "bar.*"},
                {"passwordFormat", "Clear"}
            };
            mongoProvider.Initialize(null, config);
            MembershipCreateStatus status;
            mongoProvider.CreateUser("foo", "bar!bar", null, null, null, true, null, out status);

            var mongoProvider2 = new MongoMembershipProvider(); ;
            NameValueCollection config2 = new NameValueCollection
            {
                {"connectionStringName", ConfigurationManager.ConnectionStrings[0].Name},
                {"passwordStrengthRegularExpression", ".*"},
                {"passwordFormat", "Clear"}
            };
            mongoProvider2.Initialize(null, config2);

            bool worked = mongoProvider2.ValidateUser("foo", "bar!bar");
            Assert.AreEqual(false, worked);

            this.MongoDatabase.DropCollection(mongoProvider2.UserCollectionName);
        }
        public void CreateUserWithFormat(MembershipPasswordFormat format)
        {
            var mongoProvider = new MongoMembershipProvider();
            var config = new NameValueCollection
            {
                {"connectionStringName", ConfigurationManager.ConnectionStrings[0].Name},
                {"passwordFormat", format.ToString()}
            };
            mongoProvider.Initialize("MongoMembershipProvider", config);

            // create the user
            MembershipCreateStatus status;
            var user = mongoProvider.CreateUser("foo", "barbar!", "*****@*****.**", null, null, true, null, out status);
            status.Should().Be(MembershipCreateStatus.Success);
            user.Should().NotBeNull();

            // verify that the password format was saved
            var collection = this.MongoDatabase.GetCollection<User>(mongoProvider.UserCollectionName);
            var userFromDB = collection.FindOneById(BsonValue.Create(user.ProviderUserKey));
            userFromDB.PasswordFormat.Should().Be(format);

            // then attempt to verify the user
            mongoProvider.ValidateUser("foo", "barbar!").Should().BeTrue();
        }