2014-09-05 3 views
0

Я хотел бы установить учетные данные для моего VirtualDirectory. Я ранее создал пользователя, и что я делаю:Как установить учетные данные VirtualDirectory

 DirectoryEntry site = new DirectoryEntry"IIS://localhost/W3SVC/1/Root"); 
     string className = site.SchemaClassName.ToString(); 
     if ((className.EndsWith("Server")) || (className.EndsWith("VirtualDir"))) 
     { 
      DirectoryEntries vdirs = site.Children; 
      DirectoryEntry existingDirectoryEntry = vdirs.OfType<DirectoryEntry>().SingleOrDefault(d => d.Name == name); 
      if (existingDirectoryEntry != null) 
       throw new Exception("The virtual directory you want to create already exists"); 

      DirectoryEntry newVDir = vdirs.Add(name, (className.Replace("Service", "VirtualDir"))); 
      newVDir.Username = username; 
      newVDir.Password = password; 
      newVDir.Properties["Path"][0] = path; 
      newVDir.Properties["AccessScript"][0] = true; 
      if (authFlags.HasValue) 
       newVDir.Properties["AuthFlags"].Value = authFlags.Value; 

      newVDir.CommitChanges(); 
     } 

Не задано имя пользователя и пароль. Когда я устанавливаю имя пользователя и пароль, я получаю сообщение о том, что система не может найти указанный путь, но путь существует. Может быть, мне нужно как-то изменить тип аутентификации?

ответ

0

Я наконец нашел решение. В этом случае имя пользователя и пароль должны быть заданы с помощью свойств, а не непосредственно в объекте:

newVDir.Properties["UNCUserName"][0] = username; 
newVDir.Properties["UNCPassword"][0] = password; 

И это решило мою проблему.

Смежные вопросы