Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как установить "права доступа" на файлы из Делфи ? / 8 сообщений из 8, страница 1 из 1
24.08.2003, 17:50
    #32245609
CDI
CDI
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
Есть на сервере каталог файлов в котором по определенному шаблону нужно установить "права доступа".
Т.е. одним пользователям разрешить их видеть другим запретить.
С findfirst и findnext все понятно, а вот можно ли из Делфи установить доступ к определенным файлам определенным пользователям ?
Так как файлов очень много (несколько тысяч), то вручную через мой компьютер на каждом правую кнопку жать и в "доступ" заходить очень утомительно.
...
Рейтинг: 0 / 0
25.08.2003, 04:49
    #32245681
dragonx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
Mojet prosto kajdomu polzovatelu sozdat` svou papku?
i tuda pisat` "ego" faili
...
Рейтинг: 0 / 0
25.08.2003, 09:06
    #32245732
Calm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
IMHO даже если ты напишешь на Дельфях такую прогу, которая устанавливала бы права доступа, то тогда придется тыкать в ней, а не в моем компьюетере. Разница не большая.

По сабжу:
Поищи инфу о COM-объектах самой винды. Там много разных возможностей есть.
...
Рейтинг: 0 / 0
25.08.2003, 09:09
    #32245737
pkarklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
SetFileSecurity ???
...
Рейтинг: 0 / 0
25.08.2003, 13:26
    #32246140
Alex Alexeev
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
Если лениво писать все что связано с вызовом SetFileSecurity, то можно воспользоваться библиотеками типа NT Component Set
Но все-таки советую самому написать
...
Рейтинг: 0 / 0
26.08.2003, 03:45
    #32246921
cdi
cdi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
>>dragonx
Не подходит, так как есть каталоги заказчиков и подкаталоги договоров, в которых есть конечные служебные файлы, так вот заканчиваются имена файлов на определенные символы через которые их можно выделить по маске.
Таких масок несколько групп.
Например: *test.doc, *pro.dat
Каталогов и подкаталогов много, файлов несколько тысяч, пользователей так же несколько.
Сразу оговорюсь, что это для друга хочу написать программку, а не для себя.

>>Calm
Выше описал задачу подробней, теперь понятно, что разница между "Мой компьютер" и программой запрашивающей "маску" и "юзера" будет ощутимой.

>>pkarklin
Спасибо, похоже это та функция которая нужна, нужно разбираться.
Вот если бы еще кто примерчик кинул или кусок кода на делфи было бы вообще идеально, а то разбираться с Си-шными структурами тяжеловасто :)

>>Alex Alexeev
Триальную версию скачал(но ведь это только 30 дней), почти 100$ выложить за компонент который нужен для одной программки и то бесплатной(так как другу) жалко.
Если у кого есть фул-версия с исходниками для D5, то если не жалко киньте на cdi@mosk.ru
...
Рейтинг: 0 / 0
27.08.2003, 01:20
    #32248295
cdi
cdi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
А есть на этом форуме люди которые знают и Делфи и Си одновременно и могут перевести сишный текст в делфийский ?

Может кто поможет все же перевести вот такой текст:
--------------------------
// Copyright (C) 1996 by Sergey Zabaryansky
#include
TCHAR *szFileName="e:\\sites.txt";
void main()
{
DWORD dwResult;
PACL pACLNew,pACL;
PSID pSID;
DWORD cbSID = 1024;
LPSTR lpszAccount = "UserA";
DWORD cchDomainName = 128;
TCHAR szDomain[128];
void *pACE;
PSECURITY_DESCRIPTOR pSD,sd;
PSID_NAME_USE psnuType;
pSD = (PSECURITY_DESCRIPTOR)new BYTE[4096];
pACLNew = (PACL)new BYTE[4096];
pSID = (PSID)new BYTE[cbSID];
psnuType = (PSID_NAME_USE)new BYTE[1024];
InitializeSecurityDescriptor(pSD,SECURITY_DESCRIPTOR_REVISION);
InitializeAcl(pACLNew,4096,ACL_REVISION2);
LookupAccountName(NULL,lpszAccount,pSID,&cbSID,szDomain,&cchDomainName,psnuType);

// concat the previous access
sd=(SECURITY_DESCRIPTOR *)new BYTE[0x400];
GetFileSecurity(szFileName,DACL_SECURITY_INFORMATION,sd,0x400,&dwResult);
GetSecurityDescriptorDacl(sd,(int *)&dwResult,&pACL,(int *)&dwResult);
for(int i=0;i < pACL->AceCount;i++)
{
GetAce(pACL,i,&pACE);
AddAce(pACLNew,ACL_REVISION,MAXDWORD,pACE,((PACE_HEADER)pACE)->AceSize);
}

// add new ACE
AddAccessAllowedAce(pACLNew,ACL_REVISION2,0xFFFFFFFF,pSID);
SetSecurityDescriptorDacl(pSD,TRUE,pACLNew,FALSE);
SetFileSecurity(szFileName,DACL_SECURITY_INFORMATION,pSD);
delete pSID;
delete pSD;
delete pACLNew;
delete psnuType;
--------------------------
Или просто на основе этого кода сделать упрощенный работающий пример на делфи ?
...
Рейтинг: 0 / 0
27.08.2003, 03:38
    #32248301
StarWind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как установить "права доступа" на файлы из Делфи ?
ты его запусти в Дельфи, и переведешь, просто исправляя ошибкию... за одним многое узнаешь, если не можешь прочесть этот код.... по мойму он прозрачен даже без знаний Си
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как установить "права доступа" на файлы из Делфи ? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]