protected virtual RolesChange Diff(List <string> newRoles, List <string> oldRoles) { var result = new RolesChange { Added = SubstractSets(newRoles, oldRoles), Removed = SubstractSets(oldRoles, newRoles) }; return(result); }
public virtual void RolesChanged(RolesChange change) { var repository = VirtualRoleRepository; foreach (var role in change.Removed) { repository.Unregister(role, true); } foreach (var role in change.Added) { repository.Register(role, new MappedRole(repository)); } }