public virtual void AddUser(User user)
 {
     if (_users.ContainsKey(user.Name)) throw new ArgumentException("Username already exists");
     _users.Add(user.Name, user);
     foreach (string role in user.Roles)
     {
         if (!_roles.ContainsKey(role)) AddRole(role);
         AddUserToRole(user.Name, role);
     }
 }
Beispiel #2
0
        public void Setup()
        {
            //Arrange
            string password = "******";
            target = new AuthenticationModel();
            var user = new User(userName);
            user.Roles.Add("admin");
            user.SetPassword(password);
            target.AddUser(user);

            //Act
            principal = target.Authenticate(userName, password);
        }
 public void UsersRolesAreAddedIfMissing()
 {
     var user = new User("robert");
     user.Roles.Add("admin");
     user.Roles.Add("superuser");
     var target = new AuthenticationModel();
     target.AddUser(user);
     Assert.AreEqual(2, target.Roles.Count());
     Assert.IsTrue(target.Roles.Count(r => r.Name == "admin") == 1);
     Assert.IsTrue(target.Roles.Count(r => r.Name == "superuser") == 1);
     foreach (var role in target.Roles)
     {
         Assert.IsTrue(role.Users.Single() == "robert");
     }
 }
 public void CanAddUserWithoutRoles()
 {
     var user = new User("robert");
     var target = new AuthenticationModel();
     target.AddUser(user);
 }
 private IPrincipal PrincipalForUser(User user)
 {
     var identity = new GenericIdentity(user.Name, OrigoDBPrincipal.AuthenticationTypeName);
     return new OrigoDBPrincipal(identity, user.Roles);
 }