Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис    FTP-сервер
Новый продукт - ИРБИС64+ :  ИРБИС Irbis
 
Различные списки баз для пользователей web-Ирбиса
Пользователь: elkinaos (IP-адрес скрыт)
Дата: 13, January, 2018 14:14

Добрый день.
Нам нужно, чтобы для пользователя Гость список баз данных отличался от списка для зарегистрированных читателей. Раньше мы вносили изменения в 3 файла и разделяли доступ. Это связано с тем, что к базе МАРС мы по договору не можем давать общий доступ, только для читателей.
Подскажите пожалуйста, как лучше сейчас это реализовать?



Редактировано 1 раз. Последний раз 13.01.2018 14:49 пользователем elkinaos.

Re: Различные списки баз для пользователей web-Ирбиса
Пользователь: Карауш (IP-адрес скрыт)
Дата: 14, January, 2018 13:57

Добрый день!
Из описания не понял, что Вам нужно.
Есть стандартная технология разделения доступа на основе двух файлов mnu.

Вы желаете, чтобы зарегистрированные пользователи имели какие-то группы доступа еще?
Штатного решения нет. Но Вы можете это сделать на основе правки внутренних алгоритмов. Идея такова. Создать поле внутри БД RDR, которое будет содержать какое-то значение. И на основе этого значения изменять стандартные функции.

Re: Различные списки баз для пользователей web-Ирбиса
Пользователь: elkinaos (IP-адрес скрыт)
Дата: 14, January, 2018 19:29

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

Раньше в файлах web_mnu.pft, bases_mnu.pft, search_result.pft была такая строчка
if v2225<>'' then &uf('+1W89#dbn_web_reg.mnu') else &uf('+1W89#dbn_web.mnu') fi,
и разделение между зарегистрированным и незарегистрированным читателем работало.

Сейчас на файл dbn_web_ft.mnu есть ссылка в 12 файлах.
Есть например при авторизации такой кусок для захода под гостем

<div style="width: 100%; text-align: right;">
<form name="REF" action="<--CGI_PATH-->" enctype="Multipart/form-data" method="POST" >
<input type="hidden" name="IS_FIRST_AUTH" value="false">
<input type="hidden" name="Z21ID" value="GUEST">
<input type="hidden" name="C21COM" value="F">
<input type="hidden" name="I21DBN" value="AUTHOR">
<input type="hidden" name="P21DBN" value="<?!,&uf('+5Tdbn_web_ft.mnu'),?>">
<input type="hidden" name="Z21FLAGID" value="1">
<input type="submit" value="Войти как Гость" style="border:0;background : white;cursor:pointer;color:blue; font-family:sans-serif;font: bold 13px;">
</form>
</div>

Если в нем меняем mnu на другой - ничего не происходит.
Поэтому вопрос, по какому условию и в каких файлах нужно прописать выбор mnu?

Re: Различные списки баз для пользователей web-Ирбиса
Пользователь: Constantin (IP-адрес скрыт)
Дата: 19, January, 2018 11:21

Переключатель баз данных - формат
web_mnu_select_ft.pft

Введите переменную с именем списка ( в формате жестко прописано имя
dbn_web_ft.mnu) в зависимости от значения поля v1002 (это реальный идентификатор читателя, в случае гостя его значение GUEST)

Re: Различные списки баз для пользователей web-Ирбиса
Пользователь: elkinaos (IP-адрес скрыт)
Дата: 19, January, 2018 14:15

Сделали так
if v1002='GUEST' then &uf('+1w500#','dbn2_web_ft_yar.mnu') else &uf('+1w500#','dbn_web_ft.mnu') fi,

А дальше &uf('+5Tdbn_web_ft.mnu') и &uf('+5Fdbn_web_ft.mnu') заменили на &uf('+5T',&uf('+1R500')) и &uf('+5F',&uf('+1R500')).
Вроде работает, но насколько правильно сделали не знаю, т.к. в языке не особо пока разобрались.

И не знаю можно ли использовать этот номер переменной.

Re: Различные списки баз для пользователей web-Ирбиса
Пользователь: Constantin (IP-адрес скрыт)
Дата: 22, January, 2018 10:21

Все правильно. Номер глобальной переменной можно сделать и поменьше.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.