Tworzenie folderu(do zapisu)

0

Cześć, teoretycznie sprawa prosta:

 
if (!System.IO.Directory.Exists(phDirName))
    System.IO.Directory.CreateDirectory(phDirName);

Folder jest tworzony i wszyscy są zadowoleni. Wszyscy oprócz mnie, ponieważ utworzony folder jest TYLKO DO ODCZYTU. A więc nie mogę tam zapisać swoich plików. I teraz pytanie, jak zrobić, żeby folder był zawsze z full uprawnieniami? Tak szukałem w necie i albo nie działa, albo są takie rzeczy, że nie wiem, jak zmienić, żeby było dobrze.

0
emfałsi napisał(a)

http://msdn.microsoft.com/en-us/library/system.io.directory.createdirectory(v=VS.100).aspx

Metoda numer 2.

Tyle to wiem też ja :) Nie mogę sobie poradzić z tym drugim parametrem.

0

Gdzie dokładnie tworzysz ten katalog?

0
somekind napisał(a)

Gdzie dokładnie tworzysz ten katalog?

W katalogu bin\debug projektu na dysku D(systemowy jest C)

0

z ręki piszę, więc nie wiem czy dobrze

DirectorySecurity dirSec = new DirectorySecurity();
IdentityReference usr = new NTAccount(domain + @”\” + username); // albo z WindowsIdentity
dirSec.SetOwner(usr);
FileSystemAccessRule permissions = new FileSystemAccessRule(usr,FileSystemRights.FullControl, AccessControlType.Allow);
dirSec.AddAccessRule(permissions);

0
massther napisał(a)

z ręki piszę, więc nie wiem czy dobrze

DirectorySecurity dirSec = new DirectorySecurity();
IdentityReference usr = new NTAccount(domain + @”\” + username); // albo z WindowsIdentity
dirSec.SetOwner(usr);
FileSystemAccessRule permissions = new FileSystemAccessRule(usr,FileSystemRights.FullControl, AccessControlType.Allow);
dirSec.AddAccessRule(permissions);

Znalazłem podobny kod, tylko nie mam pojęcia, co z domain i username. Poza tym taki mały sarkazm: "HEIL .NET" ;)

0

Jeśli nie masz domeny to użyj zamiast NTAccount, innego obiektu wywodzącego się z IdentityReference, czyli SecurityIdentifier z WindowsIdentity:
http://msdn.microsoft.com/en-us/library/system.security.principal.windowsidentity.aspx
Pobiera aktualnego użytkownika, w kontekście którego wykonuje się proces: http://msdn.microsoft.com/en-us/library/sfs49sw0.aspx#Y0
Następnie właściwość User zwraca SecurityIdentifier

1 użytkowników online, w tym zalogowanych: 0, gości: 1