Страница 1 из 1

Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 19 май 2004, 16:10
St.Anislav
Не сталкивался ли кто проблемой разграничения прав доступа к ARD отчетам? Например, Иванов И.И. имеет право на "Отчет1" и "Отчет2", а Петров П.П. - на "Отчет1" и "Отчет3". Как лучше всего это осуществить? На ум приходит только идея создания стольких ресурсов с ARD отчетами, сколько групп пользователей, и прописывания в galnet.cfg пользователей что-то вроде "#include <...>\%user%.CFG", и там-то и прописывать нужные отчеты.
НО. %user% - это ведь имя компьютера, а не пользователя, так ведь? Оно понятно, что пользователи с компьютера на компьютер мигрируют редко, но все же... Да и проблем с созданием ресурсов/cfg файлов не оберешься... Может, кто-то решил подобную проблему?

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 19 май 2004, 16:18
m0p3e
Я добавляю свои пользовательские настройки типа boolean и проверяю их значение перед запуском отчета.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 19 май 2004, 16:25
St.Anislav
Надо будет попробовать.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 19 май 2004, 16:46
Саша Г.
Если каждый из отчетов доступен опредленным группам пользователей, то можно в отчете четко прописывать для какой группы отчет, а для остальных fexit и контролировать при формировании отчета принадлежность пользователя к группам. Одна беда для все пользхователей будут показываться все отчеты, хотя реально доступным может быть только один.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 08:35
St.Anislav
Здесь тоже МНОГО заморочек: пришел новый пользователь, создалась новая группа - и надо все перекомпилировать; как выход (для избежания перекомпиляции) - можно хранить права на доступ к отчетам во внешнем файле (данные типа "<пользователь> <отчет> <on/off>"), и написать соотв. функцию проверки прав. Но, конечно, в списке отчетов будут видны ВСЕ отчеты.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 09:04
Саша Г.
>пришел новый пользователь, создалась новая группа
У кого какие группы, у нас группы - это отделы и соответсвенно нового пользователя помещаешь в группу и ему доступны все отчеты доступные этой группе пользователей.

Можно воспользоваться како-либо пользовательской настройкой, в которую можно внести численное значение, а затем это значение переводить в двоичную систему, которая и будет определять доступ к отчетам. Например, 10 (двоичная) - доступ к первому отчету - Нет (0), ко второму - Да (1) (с права на лево, чтоб легче было добавлять). Тогда при добавлении нового отчета пробегаешь по пользователям и устанавливаешь новые численные значения, для тех пользователей кому он должен быть доступен.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 09:38
St.Anislav
А есть ли средства по УДАЛЕНИЮ элементов из списка АРД-отчетов? Может быть, какая-нибудь функция ЗАКРЫТИЯ res-файла и/или части его содержимого? Тогда как славно получилось бы: храним права на доступ к отчетам во внешнем файле (данные типа "<пользователь> <отчет> <on/off>"), и все отчеты, которые для пользователя OFF, удаляем из списка! Ну или на крайний случай не удаляем, а делаем невидимыми (как если бы мы пометили их INS).

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 13:06
Seybukan
А рабочее место пользователя не хочешь настроить?

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 15:48
Maxim
Длинно,
но мне кажется, осуществимо...
Про ARD отчеты тоже есть :)

Давно есть желание сделать такую штуку:
1) Ночью запускается интерфейс, который делает определенные проверки в базе данных, все найденные ошибки
сохраняются по пользователям, скажем в dbf;
2) Пользователь при входе запускает не winint.exe, а скажем мою программу xxx.exe, которая...

3) Запрашивает имя пользователя и пароль;
4) Если этому пользователю есть что сообщить из пункта 1, то на экран выдается сообщение;
5) Где-то в Галактике или вне ее хранится настройка каждого пользователя на *.crf и *.res ресурсы;
6) На недоступном пользователю месте формируется user.cfg, где будут только те ресурсы, которые ему нужны;
7) Туда же будет выгружено имя и пароль для входа в систему (поэтому ресурс должен быть недоступен);
8) Стартуется Галактика со ссылкой на cfg который создается "динамически".

Плюсы:
- очень хочется сообщать что-то пользователю при входе в систему;
- гарантированно подключаются все *.crf и только нужные *.res файлы (ARD например);
- перед запуском можно "почистить" dsk,tmp,out и прочее;
- на локальных местах нет вообще никаких cfg файлов;
- dsk файлы можно будет не создавать с "нуля", а брать уже настроенные (цвета, отключены отчеты)

Вот.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 16:15
Саша Г.
ФАНТАСТИКА

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 16:44
St.Anislav
РМП - не хочу.
1 - долго,
2 - список отчетов постоянно пополняется,
3 - вроде бы, АРД отчеты напрямую в РМП добавлять нельзя - надо их загонять в пункты меню и добавлять уже их.

2Maxim:
Идея хорошая, только, опять же, "только нужные пользователю" res-файлы нужно как-то создавать, причем не вручную - вот появился новый отчет/изменился старый - и все, можно вешаться. Неплохо бы автоматически генерировать res файлы с отчетами только для пользователя - но и здесь проблема: по недосмотру у Иванова И.И. отчет версии 1.1, а у Петрова П.П - 1.2 и т.д. Поэтому я думаю вот что:
1. Следует придерживаться правила "1 отчет - 1 ресурс";
2. Для пользователя следует генерировать (в соответствии с его правами!) не RES-файлы, а CFG, а в них уже прописывать доступные отчеты.

И тут в полный рост встает проблема ведения базы отчетов - нужна программа, которая позволяла бы компилировать выбранные отчеты в ресурсы (все в один либо каждый в свой), т.е. создавать bat и cfg для компиляции.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 16:51
St.Anislav
Да, и не знает ли кто механизм сохранения видимости отчетов (когда мы помечаем ненужный отчет ins в Настройке отчетов)? Я так понимаю, что в DSK файл пользователя с помощью маркеров; не знает ли кто точнее?

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 17:07
Maxim
2St.Anislav:

конечно, речь идет о создании ТОЛЬКО cfg файлов, просто секция [system] будет различная.

Хотя это все только от неграмотного пользователя, если знать какой RES подключить - все это ерунда.
Нужно проверку делать внутри ARD отчета.

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 20 май 2004, 18:23
Galpro_tut
Унас реализована эта идея
Сделан батник в которым по юзернаме
"login" и паролем(минимальные права на чтение нескольких таблиц) запускается NowRun в нем интерфейс который правит Galnet.Cfg по провам в атантисе(по входжению в группу)
проставляя нужный инклудник со ссылкой на нужный ресурс
а потом отрабатывая запускает Галактику в обычном режиме.
galpro.itpark.ru

Re: Разграничение прав доступа к отчетам (ARD, link)

Добавлено: 21 май 2004, 08:36
St.Anislav
2 Maxim:
От ГРАМОТНОГО пользователя и правда, защиту придумать трудно; но - к сожалению ли, к счастью ли - пользователи все больше неграмотные, темные.

Я все же хочу просто попробовать сделать отчеты невидимыми - никакой возни с cfg и т.д., потребуется только внешний файлик с указанием прав пользователей.