5 messaggi dal 02 luglio 2009
Salve, avrei la necessità, mediante script in C# eseguito su IIS, di creare una cartella e definirne le sue autorizzazioni d'accesso e il suo proprietario. Girovagando su Internet ho messo a punto il seguente codice:

DirectoryInfo dInfo = new DirectoryInfo(@"C:\Share\");
DirectorySecurity dSecurity = new DirectorySecurity();

dSecurity.AddAccessRule(new FileSystemAccessRule( "Utente" ,
FileSystemRights.FullControl ,
InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit ,
PropagationFlags.NoPropagateInherit ,
AccessControlType.Allow ) );

dSecurity.SetOwner(new NTAccount("Utente"));
dInfo.CreateSubdirectory("Dir_Utente", dSecurity);

Purtroppo questo codice funziona solo se lo faccio eseguire all'interno di VisualStudio loggato con l'account di amministratore.
Quando lo faccio eseguire da IIS ottengo un errore di protezione generato dall'impossibilità dell'account "ServiceNetwork" di cambiare il proprietario di una cartella.
Ho fatto altre ricerche su internet per settare, tramite codice, il permesso mancante all'utente "ServiceNetwork" ovvero il privileggio "SeTakeOwnershipPrivilege" ma non sono riuscito a tirare fuori neanche una riga di codice valido. Sembrerebbe che debba ottenere, dal processo corrente, il token di autenticazione e definire su esso questo nuovo privileggio.
Qualcuno può darmi una dritta su quali classi del framework .NET debba utilizzare?

Grazie
5 messaggi dal 02 luglio 2009
Oops.. mi sono accorto di aver sbagliato forum...
Chiedo scusa, riposto la domanda in quello giusto.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC