Разграничение прав доступа к отчетам (ARD, link)
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Разграничение прав доступа к отчетам (ARD, link)
Не сталкивался ли кто проблемой разграничения прав доступа к ARD отчетам? Например, Иванов И.И. имеет право на "Отчет1" и "Отчет2", а Петров П.П. - на "Отчет1" и "Отчет3". Как лучше всего это осуществить? На ум приходит только идея создания стольких ресурсов с ARD отчетами, сколько групп пользователей, и прописывания в galnet.cfg пользователей что-то вроде "#include <...>\%user%.CFG", и там-то и прописывать нужные отчеты.
НО. %user% - это ведь имя компьютера, а не пользователя, так ведь? Оно понятно, что пользователи с компьютера на компьютер мигрируют редко, но все же... Да и проблем с созданием ресурсов/cfg файлов не оберешься... Может, кто-то решил подобную проблему?
НО. %user% - это ведь имя компьютера, а не пользователя, так ведь? Оно понятно, что пользователи с компьютера на компьютер мигрируют редко, но все же... Да и проблем с созданием ресурсов/cfg файлов не оберешься... Может, кто-то решил подобную проблему?
Re: Разграничение прав доступа к отчетам (ARD, link)
Я добавляю свои пользовательские настройки типа boolean и проверяю их значение перед запуском отчета.
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
Надо будет попробовать.
Re: Разграничение прав доступа к отчетам (ARD, link)
Если каждый из отчетов доступен опредленным группам пользователей, то можно в отчете четко прописывать для какой группы отчет, а для остальных fexit и контролировать при формировании отчета принадлежность пользователя к группам. Одна беда для все пользхователей будут показываться все отчеты, хотя реально доступным может быть только один.
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
Здесь тоже МНОГО заморочек: пришел новый пользователь, создалась новая группа - и надо все перекомпилировать; как выход (для избежания перекомпиляции) - можно хранить права на доступ к отчетам во внешнем файле (данные типа "<пользователь> <отчет> <on/off>"), и написать соотв. функцию проверки прав. Но, конечно, в списке отчетов будут видны ВСЕ отчеты.
Re: Разграничение прав доступа к отчетам (ARD, link)
>пришел новый пользователь, создалась новая группа
У кого какие группы, у нас группы - это отделы и соответсвенно нового пользователя помещаешь в группу и ему доступны все отчеты доступные этой группе пользователей.
Можно воспользоваться како-либо пользовательской настройкой, в которую можно внести численное значение, а затем это значение переводить в двоичную систему, которая и будет определять доступ к отчетам. Например, 10 (двоичная) - доступ к первому отчету - Нет (0), ко второму - Да (1) (с права на лево, чтоб легче было добавлять). Тогда при добавлении нового отчета пробегаешь по пользователям и устанавливаешь новые численные значения, для тех пользователей кому он должен быть доступен.
У кого какие группы, у нас группы - это отделы и соответсвенно нового пользователя помещаешь в группу и ему доступны все отчеты доступные этой группе пользователей.
Можно воспользоваться како-либо пользовательской настройкой, в которую можно внести численное значение, а затем это значение переводить в двоичную систему, которая и будет определять доступ к отчетам. Например, 10 (двоичная) - доступ к первому отчету - Нет (0), ко второму - Да (1) (с права на лево, чтоб легче было добавлять). Тогда при добавлении нового отчета пробегаешь по пользователям и устанавливаешь новые численные значения, для тех пользователей кому он должен быть доступен.
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
А есть ли средства по УДАЛЕНИЮ элементов из списка АРД-отчетов? Может быть, какая-нибудь функция ЗАКРЫТИЯ res-файла и/или части его содержимого? Тогда как славно получилось бы: храним права на доступ к отчетам во внешнем файле (данные типа "<пользователь> <отчет> <on/off>"), и все отчеты, которые для пользователя OFF, удаляем из списка! Ну или на крайний случай не удаляем, а делаем невидимыми (как если бы мы пометили их INS).
-
- Местный житель
- Сообщения: 1357
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: СПб, ЭП-Аудит
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
А рабочее место пользователя не хочешь настроить?
Re: Разграничение прав доступа к отчетам (ARD, link)
Длинно,
но мне кажется, осуществимо...
Про ARD отчеты тоже есть
Давно есть желание сделать такую штуку:
1) Ночью запускается интерфейс, который делает определенные проверки в базе данных, все найденные ошибки
сохраняются по пользователям, скажем в dbf;
2) Пользователь при входе запускает не winint.exe, а скажем мою программу xxx.exe, которая...
3) Запрашивает имя пользователя и пароль;
4) Если этому пользователю есть что сообщить из пункта 1, то на экран выдается сообщение;
5) Где-то в Галактике или вне ее хранится настройка каждого пользователя на *.crf и *.res ресурсы;
6) На недоступном пользователю месте формируется user.cfg, где будут только те ресурсы, которые ему нужны;
7) Туда же будет выгружено имя и пароль для входа в систему (поэтому ресурс должен быть недоступен);
Стартуется Галактика со ссылкой на cfg который создается "динамически".
Плюсы:
- очень хочется сообщать что-то пользователю при входе в систему;
- гарантированно подключаются все *.crf и только нужные *.res файлы (ARD например);
- перед запуском можно "почистить" dsk,tmp,out и прочее;
- на локальных местах нет вообще никаких cfg файлов;
- dsk файлы можно будет не создавать с "нуля", а брать уже настроенные (цвета, отключены отчеты)
Вот.
но мне кажется, осуществимо...
Про ARD отчеты тоже есть
Давно есть желание сделать такую штуку:
1) Ночью запускается интерфейс, который делает определенные проверки в базе данных, все найденные ошибки
сохраняются по пользователям, скажем в dbf;
2) Пользователь при входе запускает не winint.exe, а скажем мою программу xxx.exe, которая...
3) Запрашивает имя пользователя и пароль;
4) Если этому пользователю есть что сообщить из пункта 1, то на экран выдается сообщение;
5) Где-то в Галактике или вне ее хранится настройка каждого пользователя на *.crf и *.res ресурсы;
6) На недоступном пользователю месте формируется user.cfg, где будут только те ресурсы, которые ему нужны;
7) Туда же будет выгружено имя и пароль для входа в систему (поэтому ресурс должен быть недоступен);
Стартуется Галактика со ссылкой на cfg который создается "динамически".
Плюсы:
- очень хочется сообщать что-то пользователю при входе в систему;
- гарантированно подключаются все *.crf и только нужные *.res файлы (ARD например);
- перед запуском можно "почистить" dsk,tmp,out и прочее;
- на локальных местах нет вообще никаких cfg файлов;
- dsk файлы можно будет не создавать с "нуля", а брать уже настроенные (цвета, отключены отчеты)
Вот.
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
РМП - не хочу.
1 - долго,
2 - список отчетов постоянно пополняется,
3 - вроде бы, АРД отчеты напрямую в РМП добавлять нельзя - надо их загонять в пункты меню и добавлять уже их.
2Maxim:
Идея хорошая, только, опять же, "только нужные пользователю" res-файлы нужно как-то создавать, причем не вручную - вот появился новый отчет/изменился старый - и все, можно вешаться. Неплохо бы автоматически генерировать res файлы с отчетами только для пользователя - но и здесь проблема: по недосмотру у Иванова И.И. отчет версии 1.1, а у Петрова П.П - 1.2 и т.д. Поэтому я думаю вот что:
1. Следует придерживаться правила "1 отчет - 1 ресурс";
2. Для пользователя следует генерировать (в соответствии с его правами!) не RES-файлы, а CFG, а в них уже прописывать доступные отчеты.
И тут в полный рост встает проблема ведения базы отчетов - нужна программа, которая позволяла бы компилировать выбранные отчеты в ресурсы (все в один либо каждый в свой), т.е. создавать bat и cfg для компиляции.
1 - долго,
2 - список отчетов постоянно пополняется,
3 - вроде бы, АРД отчеты напрямую в РМП добавлять нельзя - надо их загонять в пункты меню и добавлять уже их.
2Maxim:
Идея хорошая, только, опять же, "только нужные пользователю" res-файлы нужно как-то создавать, причем не вручную - вот появился новый отчет/изменился старый - и все, можно вешаться. Неплохо бы автоматически генерировать res файлы с отчетами только для пользователя - но и здесь проблема: по недосмотру у Иванова И.И. отчет версии 1.1, а у Петрова П.П - 1.2 и т.д. Поэтому я думаю вот что:
1. Следует придерживаться правила "1 отчет - 1 ресурс";
2. Для пользователя следует генерировать (в соответствии с его правами!) не RES-файлы, а CFG, а в них уже прописывать доступные отчеты.
И тут в полный рост встает проблема ведения базы отчетов - нужна программа, которая позволяла бы компилировать выбранные отчеты в ресурсы (все в один либо каждый в свой), т.е. создавать bat и cfg для компиляции.
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
Да, и не знает ли кто механизм сохранения видимости отчетов (когда мы помечаем ненужный отчет ins в Настройке отчетов)? Я так понимаю, что в DSK файл пользователя с помощью маркеров; не знает ли кто точнее?
Re: Разграничение прав доступа к отчетам (ARD, link)
2St.Anislav:
конечно, речь идет о создании ТОЛЬКО cfg файлов, просто секция [system] будет различная.
Хотя это все только от неграмотного пользователя, если знать какой RES подключить - все это ерунда.
Нужно проверку делать внутри ARD отчета.
конечно, речь идет о создании ТОЛЬКО cfg файлов, просто секция [system] будет различная.
Хотя это все только от неграмотного пользователя, если знать какой RES подключить - все это ерунда.
Нужно проверку делать внутри ARD отчета.
-
- Постоянный гость
- Сообщения: 68
- Зарегистрирован: 29 мар 2005, 17:49
Re: Разграничение прав доступа к отчетам (ARD, link)
Унас реализована эта идея
Сделан батник в которым по юзернаме
"login" и паролем(минимальные права на чтение нескольких таблиц) запускается NowRun в нем интерфейс который правит Galnet.Cfg по провам в атантисе(по входжению в группу)
проставляя нужный инклудник со ссылкой на нужный ресурс
а потом отрабатывая запускает Галактику в обычном режиме.
galpro.itpark.ru
Сделан батник в которым по юзернаме
"login" и паролем(минимальные права на чтение нескольких таблиц) запускается NowRun в нем интерфейс который правит Galnet.Cfg по провам в атантисе(по входжению в группу)
проставляя нужный инклудник со ссылкой на нужный ресурс
а потом отрабатывая запускает Галактику в обычном режиме.
galpro.itpark.ru
-
- Постоянный обитатель
- Сообщения: 147
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Новосибирск
- Контактная информация:
Re: Разграничение прав доступа к отчетам (ARD, link)
2 Maxim:
От ГРАМОТНОГО пользователя и правда, защиту придумать трудно; но - к сожалению ли, к счастью ли - пользователи все больше неграмотные, темные.
Я все же хочу просто попробовать сделать отчеты невидимыми - никакой возни с cfg и т.д., потребуется только внешний файлик с указанием прав пользователей.
От ГРАМОТНОГО пользователя и правда, защиту придумать трудно; но - к сожалению ли, к счастью ли - пользователи все больше неграмотные, темные.
Я все же хочу просто попробовать сделать отчеты невидимыми - никакой возни с cfg и т.д., потребуется только внешний файлик с указанием прав пользователей.