public AdUserAuthorityValidator([NotNull] IProjectRepository projectRepository,
                                        [NotNull] IRoleRepository roleRepository,
                                        [NotNull] IUserGroupMembershipProvider userGroupMembershipProvider,
                                        [NotNull] IUserRepository userRepository)
        {
            if (projectRepository == null)
            {
                throw new ArgumentNullException(nameof(projectRepository));
            }
            if (roleRepository == null)
            {
                throw new ArgumentNullException(nameof(roleRepository));
            }
            if (userGroupMembershipProvider == null)
            {
                throw new ArgumentNullException(nameof(userGroupMembershipProvider));
            }
            if (userRepository == null)
            {
                throw new ArgumentNullException(nameof(userRepository));
            }

            _projectRepository           = projectRepository;
            _roleRepository              = roleRepository;
            _userGroupMembershipProvider = userGroupMembershipProvider;
            _userRepository              = userRepository;
        }
		public AdUserRoleProvider([NotNull] IRoleRepository roleRepository,
			[NotNull] IUserGroupMembershipProvider userGroupMembershipProvider,
			[NotNull] IUserProjectSettingsRepository userProjectSettingsRepository,
			[NotNull] IUserRepository userRepository)
		{
			if (roleRepository == null) throw new ArgumentNullException(nameof(roleRepository));
			if (userGroupMembershipProvider == null) throw new ArgumentNullException(nameof(userGroupMembershipProvider));
			if (userProjectSettingsRepository == null) throw new ArgumentNullException(nameof(userProjectSettingsRepository));
			if (userRepository == null) throw new ArgumentNullException(nameof(userRepository));

			_roleRepository = roleRepository;
			_userGroupMembershipProvider = userGroupMembershipProvider;
			_userProjectSettingsRepository = userProjectSettingsRepository;
			_userRepository = userRepository;
		}