05.02.2008, 14:37 | #21 |
Злыдни
|
А как он сможет скопировать то, на что у него нет прав на чтение?
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
05.02.2008, 15:20 | #22 |
Пенсионер
|
Цитата:
Сообщение от ivas
это все конечно хорошо, разбить по типу не получиться т.к. основная масса это .doc и .tif файлы, если помещать в разные папки по "секретности" то нужно будет тогда какимто образом заставить пользователя указывать это уровень секретности для каждого документа, а это само собой они делать через какоето время перестанут
есть ещё вариант программно какимто образом устанавливать права в домене на файлы в зависимости от уровня доступа пользователей (у нас храниться в отдельной табличке для каждой записи в документообороте) в аксапте Иными словами, Вам надо создать типы, к примеру: "Приказы директора", "Накладные приходные", "Наряды на работы" и т.д., и для каждолго типа выделить отдельный каталог на сервере. Тогда манипулируя правами в Аксапте , как обычными, так и на уровне записей, Вы сможете решить свою задачу. зы: ИМХО glibs именно это и имел ввиду.
__________________
Законы природы еще никто не отменял! А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
05.02.2008, 15:25 | #23 |
Участник
|
А не думали документы на Sharepoint хранить? в Ax ссылки на документы в хранить? Кроме настройки прав доступа до файла получите полнотекстовый поиск, версионность, несложный workflow и другие полезные фичи... Все же файловая система не самое лучшее многопользовательское хранилище документов
|
|
05.02.2008, 15:28 | #24 |
Участник
|
Цитата:
Сообщение от blokva
Если говорить про "тип" файла в документообороте, то это имеется ввиду его принадлежность к некой сущности аксапты, а не принадлежности к приложению.
Иными словами, Вам надо создать типы, к примеру: "Приказы директора", "Накладные приходные", "Наряды на работы" и т.д., и для каждолго типа выделить отдельный каталог на сервере. Тогда манипулируя правами в Аксапте , как обычными, так и на уровне записей, Вы сможете решить свою задачу. зы: ИМХО glibs именно это и имел ввиду. просто к примеру если пользователь должен видеть один из документов типа "Приказы директора", то он увидит все документы с этим типом, а это не хорошо
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
05.02.2008, 15:30 | #25 |
Участник
|
Цитата:
Сообщение от Aleck
А не думали документы на Sharepoint хранить? в Ax ссылки на документы в хранить? Кроме настройки прав доступа до файла получите полнотекстовый поиск, версионность, несложный workflow и другие полезные фичи... Все же файловая система не самое лучшее многопользовательское хранилище документов
что такое Sharepoint и как его с аксаптой можно съесть?
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
07.02.2008, 19:20 | #26 |
Участник
|
задача решена с минимумом энергозатрат
так: 1. документооборот настроен на хранение файлов в БД 2. при чтении/записи запускаем класс на сервере который открывает/сохраняет файл нужной нам в папке куда только у него есть доступ чтение: \Classes\DocuActionFile\saveTempFile X++: //binData.setData(docuRef.docuValue().file);
binData.setData(DocuActionServer::Load(docuRef.docuValue().fileName())); \Data Dictionary\Tables\DocuValue\Methods\writeDocuValue X++: //docuValue.file = binData.getData();
DocuActionServer::Save(binData.getData(), docuValue.fileName()); X++: server static container Load(Filename _filename) { BinData bindata = new BinData(); str completeFileName = #Path + _fileName; ; if (WinApi::fileExists2(completeFileName)) BinData.loadFile(completeFileName); else throw error("Не найден файл: " + completeFileName); return bindata.getData(); } X++: server static boolean Save(container _file, FileName _fileName) { BinData bindata = new BinData(); ; BinData.setData(_file); if (!WinApi::folderExists(#Path)) throw error("Не найден путь к папке: " + #Path); return bindata.saveFile(#Path + _fileName); }
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy |
|
08.02.2008, 10:10 | #27 |
MCITP
|
И как у Вас с производительностью дела обстоят при загрузке\выгрузке файлов 20, 50, 100 Мб и выше? Не пробовали? :-)
|
|
08.02.2008, 11:19 | #28 |
Member
|
В 4.0 в документообороте появилось ограничение на размер файла. Т.е. для особо огромных файлов можно сделать отдельный тип документов, хранимый на файловом сервере и с менее надежной секьюрити.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
08.02.2008, 12:19 | #29 |
Злыдни
|
А еще лучше приучить пользователей сохранять рабочие файлы в групповых папках (на которые уже розданы права), а для документооборота хранить не документы на сервере или в базе, а ссылки на документы. Сколько компаний - столько подходов )))
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании. |
|
13.02.2008, 10:30 | #30 |
Злыдни
|
Было нечто похожее. Была необходимость позволить Axapta читать-писать в каталог, однако так, чтобы пользователи напрямую не могли ни читать, ни соваться в этот каталог. Решили так: отняли права у пользователей на этот каталог, создали некоего пользователя и под ним запускали службу АОС. Ему дали права на каталог. И все закрутилось.
Может быть это подскажет мысль. |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
17.05.2012, 08:16 | #31 |
Участник
|
Поднимаю тему
У нас как раз стоит задача, описанная vvk. Как добиться того, чтобы просмотр/создание файла в каталоге происходило от пользователя, запустившего АОС? Пока смотрю код на таблицах DocuRef метод path и DocuType метод verifyParameters. Пробовать через runAsPermission получить права? |
|
17.05.2012, 20:20 | #32 |
Участник
|
Цитата:
Сообщение от Акавешка
Поднимаю тему
У нас как раз стоит задача, описанная vvk. Как добиться того, чтобы просмотр/создание файла в каталоге происходило от пользователя, запустившего АОС? Пока смотрю код на таблицах DocuRef метод path и DocuType метод verifyParameters. Пробовать через runAsPermission получить права? Падает клиент при прикреплении файла Суть в том, чтобы передать файл с клиента аксапты в файловое хранилище с использованием средств самой аксапты, а не копированием с использованием winapi, как это предусмотрено в стандартном документообороте. Тогда никакого runas не потребуется, так как файл будет передан хранилище от имени пользователя, под которым запущен AOS... |
|
|
За это сообщение автора поблагодарили: Акавешка (1). |
18.05.2012, 05:59 | #33 |
Участник
|
Тогда остается проблема - как открыть файл? На данный момент ситуация такова - у пользователей нет прав на каталог файлового хранилища. Когда открывается форма с прикрепленными документами - то при переходе на вкладку Разное (где указан путь к документу) или при попытке открыть документ, имеем ошибку - каталог не существует.
|
|
18.05.2012, 09:56 | #34 |
Участник
|
Цитата:
Сообщение от Акавешка
Тогда остается проблема - как открыть файл? На данный момент ситуация такова - у пользователей нет прав на каталог файлового хранилища. Когда открывается форма с прикрепленными документами - то при переходе на вкладку Разное (где указан путь к документу) или при попытке открыть документ, имеем ошибку - каталог не существует.
Для "крупных файлов" это может оказаться, конечно, не очень быстро (так как копирование занимает время), но для не больших файлов (файлов документов например, что составляет большую часть документооборота обычно) это почти не влияет на скорость открытия. Таким образом решается и проблема конфиденциальной информации. Кто угодно уже не сможет получить доступ к любому документу файлового хранилища. Это конечно, потребует переделки многих стандартных функций работы с документами в Аксапта. (В их части сохранения и открытия документа) У нас кроме прочего, еще сделано разделение хранилища на разделы, чтобы не хранить в одной папке файлового хранилища более 1000 файлов. Это заметно ускоряет доступ к файловому хранилищу... |
|
18.05.2012, 11:00 | #35 |
Участник
|
Цитата:
Сообщение от Акавешка
Тогда остается проблема - как открыть файл? у пользователей нет прав на каталог файлового хранилища. Когда открывается форма с прикрепленными документами - то при переходе на вкладку Разное (где указан путь к документу) или при попытке открыть документ, имеем ошибку - каталог не существует.
Вообще же к обеспечению безопасности файлов документооборота есть еще один подход: не ограничивать пользователей в возможности непосредственно читать эти файлы, но ограничить их возможность видеть список файлов, что можно сделать с помощью прав доступа на соотв. каталог. При этом также нужно будет переделать код документооборота, определяющий, существует ли указанный файл: по умолчанию, по крайней мере, в 2009-й для этого вызывается код, пытающийся в списке файлов каталога найти указанный файл, но поскольку при данном подходе мы отрубаем возможность листать каталог, надо вернуться к локализаторскому коду, который пытается открыть файл на чтение (а потом сразу закрывает) и определяет его наличие по успешности этой операции. |
|
|
За это сообщение автора поблагодарили: someOne (4). |
Теги |
ax2009, ax3.0, документооборот, как правильно, права доступа |
|
|