Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Права на папочку?

24.10.18 12:21
​Права на папочку?
 
Murr патриот
Murr

Права на папочку?


Кусок кода, проверяющего структуру на диске :


string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
if(appDataFolder == string.Empty)
{
appDataFolder = @"C:\inetpub\logs";
}
string dumpFolder = Path.Combine(appDataFolder, PathTo);
if(!Directory.Exists(dumpFolder))
{
Directory.CreateDirectory(dumpFolder);
}

string backupFolder = Path.Combine(dumpFolder, BackupDir);
if(!Directory.Exists(backupFolder))
{
Directory.CreateDirectory(backupFolder);
}


В ВинАпп - все работает нормально - ДатаФолдер - получается, папочки создаются.

Под ИИС - наступает большая задница. Юзер, который создается для пула, не имеет своего профайла - ДатаФолдер будет пустой строкой.

Ну это проверяется и подставляется место куда пишутся логи. Бо, это тоже часть логов...

А дальше - идет облом.

Нет пермита на запись. И нет юсера которому можно дать права на запись - там только спец.аккаунт для апппула.

Можно поменять идентити от которого работает апппул на LocalSystem - но в этом случае папочки будут где-то глубоко в С:\Виндовс\..., что мне совершенно не нравится.

Можно создать специального юзера с правами на запись в логс и задать его для апппула, но полиси требует смены пароля каждые 28 дней и поменять этo нельзя...


В общем - непонятно где копать.

Нужны права на создание папок и запись в файлы в этих папках, работающее под ВинЮсером и под ИисЮсером.

 

Перейти на