Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
Есть на сервере каталог файлов в котором по определенному шаблону нужно установить "права доступа". Т.е. одним пользователям разрешить их видеть другим запретить. С findfirst и findnext все понятно, а вот можно ли из Делфи установить доступ к определенным файлам определенным пользователям ? Так как файлов очень много (несколько тысяч), то вручную через мой компьютер на каждом правую кнопку жать и в "доступ" заходить очень утомительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2003, 17:50 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
Mojet prosto kajdomu polzovatelu sozdat` svou papku? i tuda pisat` "ego" faili ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 04:49 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
IMHO даже если ты напишешь на Дельфях такую прогу, которая устанавливала бы права доступа, то тогда придется тыкать в ней, а не в моем компьюетере. Разница не большая. По сабжу: Поищи инфу о COM-объектах самой винды. Там много разных возможностей есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 09:06 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
SetFileSecurity ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 09:09 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
Если лениво писать все что связано с вызовом SetFileSecurity, то можно воспользоваться библиотеками типа NT Component Set Но все-таки советую самому написать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2003, 13:26 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
>>dragonx Не подходит, так как есть каталоги заказчиков и подкаталоги договоров, в которых есть конечные служебные файлы, так вот заканчиваются имена файлов на определенные символы через которые их можно выделить по маске. Таких масок несколько групп. Например: *test.doc, *pro.dat Каталогов и подкаталогов много, файлов несколько тысяч, пользователей так же несколько. Сразу оговорюсь, что это для друга хочу написать программку, а не для себя. >>Calm Выше описал задачу подробней, теперь понятно, что разница между "Мой компьютер" и программой запрашивающей "маску" и "юзера" будет ощутимой. >>pkarklin Спасибо, похоже это та функция которая нужна, нужно разбираться. Вот если бы еще кто примерчик кинул или кусок кода на делфи было бы вообще идеально, а то разбираться с Си-шными структурами тяжеловасто :) >>Alex Alexeev Триальную версию скачал(но ведь это только 30 дней), почти 100$ выложить за компонент который нужен для одной программки и то бесплатной(так как другу) жалко. Если у кого есть фул-версия с исходниками для D5, то если не жалко киньте на cdi@mosk.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2003, 03:45 |
|
||
|
Как установить "права доступа" на файлы из Делфи ?
|
|||
|---|---|---|---|
|
#18+
А есть на этом форуме люди которые знают и Делфи и Си одновременно и могут перевести сишный текст в делфийский ? Может кто поможет все же перевести вот такой текст: -------------------------- // 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; -------------------------- Или просто на основе этого кода сделать упрощенный работающий пример на делфи ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2003, 01:20 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32248301&tid=2117145]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 340ms |

| 0 / 0 |
