• 3 odgovora
  • 2.262 pregleda
ASP.NET - IO.Directory.CreateDirectory 09.03.2008. u 22:51 · pre 226 meseci #1
Imam jedan sajt u kom korisnik sam može da pravi svoje foldere. Foldere pravim sa .net komandom
Code:

IO.Directory.CreateDirectory(<path koji treba napraviti>)


problem koji imam je da od npr. 200 napravljenih foldera njih desetak ne nasleđuje prava pristupa od parent foldera. Do sad nisam uspeo da primetim neko pravilo kad se prava ne nasleđuju, pa vas pitam da li ste se susretali sa ovakvim problemom i da li znate kako da resim isti?
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: ASP.NET - IO.Directory.CreateDirectory 10.03.2008. u 09:59 · pre 226 meseci #2
Da, to sam video na jos par mesta, i iskreno nemam pojma zasto se to desava, mozda je neki domain level policy umesao prste.
U svakom slucaju, imas mehanizam kojim mozes da korektujes situaciju:

Code:

DirectoryInfo dInfo = IO.Directory.CreateDirectory(<path koji treba napraviti>);
DirectorySecurity dSecurity = dInfo.GetAccessControl();
dSecurity.SetAccessRuleProtection(false, false);


ili

Code:

DirectorySecurity dSecurity = new DirectorySecurity();
dSecurity.SetAccessRuleProtection(false, false);
IO.Directory.CreateDirectory(<path koji treba napraviti>, dSecurity);



SetAccessRuleProtection je metod koji implementira ACL security inheritance flagove, prvi parametar = false znaci da directory treba da ima praznu ACL listu i da se ACL naseldjuje od parent containera.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Re: ASP.NET - IO.Directory.CreateDirectory 13.03.2008. u 20:10 · pre 226 meseci #3
A bio sam ubeđen da će ovo da radi

Citat:
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.


Kako je ovaj sajt na GoDaddy-u nije mi jasno kako to drugi uspevaju da reše Koliko sam video jedino rešenje je da se u machine config fajlu poveća trust level kako bi ovo radilo.

Neko drugo rešenje ili da pišem administratorima?
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: ASP.NET - IO.Directory.CreateDirectory 19.03.2008. u 11:34 · pre 226 meseci #4
Tesko ces moci da isposlujes tako nesto na shared serverima. Trust level je po defaultu omogucen, oni su ga namerno ukinuli, da bi zastitili ostale sajtove na shared serveru od jednom malicioznog posto verovatno sve sajtove ganjanju pod istim poolom lenjo, sta ces. Kad bi ti dali FileIO mogao bi da pobrises ostale sajtove na serveru

Sajtovi koji barataju ovakvim stvarima su obicno na dedicated serverima, tama te pustaju da radis sta hoces posto samo sebe mozes da zakopas.
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme