コード例 #1
0
        private ServerManagerRights RightsWithResolvedDepenecies(ServerManagerRights value)
        {
            value = ResolveAssignUsersToGroupDependencies(value);
            value = ResolveEditUsersDependencies(value);
            value = ResolveDepenciesOfAdministerDirectoryServices(value);

            return(value);
        }
コード例 #2
0
 private static ServerManagerRights ResolveEditUsersDependencies(ServerManagerRights value)
 {
     if (value.HasFlag(ServerManagerRights.CreateUsers))
     {
         value |= ServerManagerRights.EditUsers;
     }
     return(value);
 }
コード例 #3
0
        private static ServerManagerRights ResolveAssignUsersToGroupDependencies(ServerManagerRights rights)
        {
            const ServerManagerRights DEPENDENT_ON_ASSIGN_USER_TO_GROUP =
                ServerManagerRights.EditUsers | ServerManagerRights.CreateGroups | ServerManagerRights.CreateUsers;

            if (!rights.HasFlag(ServerManagerRights.AssignUsersToGroups) &&
                (rights & DEPENDENT_ON_ASSIGN_USER_TO_GROUP) != 0)
            {
                rights |= ServerManagerRights.AssignUsersToGroups;
            }
            return(rights);
        }
コード例 #4
0
 public void AddServerManagerRights(ServerManagerRights right)
 {
     ServerManagerRights |= right;
 }
コード例 #5
0
 private static ServerManagerRights ResolveDepenciesOfAdministerDirectoryServices(ServerManagerRights value)
 {
     if (value.HasFlag(ServerManagerRights.AdministerDirectoryServices))
     {
         value |= ServerManagerRights.CreateUsers | ServerManagerRights.EditUsers |
                  ServerManagerRights.DeleteUsers | ServerManagerRights.AssignUsersToGroups |
                  ServerManagerRights.DeleteGroups | ServerManagerRights.CreateGroups;
     }
     return(value);
 }
コード例 #6
0
 public void RemoveServerManagerRights(ServerManagerRights right)
 {
     ServerManagerRights ^= right;
 }