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); } }
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); }