示例#1
0
		public bool Authenticate(Models.Login login)
		{
			bool authenticated = false;

			var users = _blogDb.GetCollection<BsonDocument>("users");

			var user = users.FindOne(Query.EQ("_id", login.UserName));
			if (user != null)
			{
				string hashed = new PasswordHasher().HashPassword(login.UserName, login.Password);
				authenticated = user["password"].AsString.Equals(hashed);
			}
			return authenticated;
		}
示例#2
0
		public bool Signup(Models.Signup signup)
		{
			bool created = false;
			var users = _blogDb.GetCollection<BsonDocument>("users");
			try
			{
				string hashed = new PasswordHasher().HashPassword(signup.UserName, signup.Password);
				var result = users.Insert(new
				{
					_id = signup.UserName,
					password = hashed,
					email = signup.Email
				});
				created = !result.HasLastErrorMessage;
			}
			catch (MongoSafeModeException ex)
			{
				if (ex.CommandResult.Response["code"] != 11000) throw;
			}
			return created;
		}