Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Web Ирбис и Z-Ирбис :  ИРБИС Irbis
 
Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 10, February, 2005 19:52

Вот чего хочу попросить: конечно фамилия в качестве логина - это хорошо, и штрих-код (v30) читателя в качестве пароля тоже замечательно, но вот хотелось бы иметь возможность назначить для этого свои поля, совершенно отдельные. например, я посмотрел и увидел, что поля от 100 до 199 в RDR не используются. Я их и занял под свои нужды. Как бы мне сделать так, чтобы из поля 100 брался логин, а из поля 101 брался пароль?

Re: Авторизация в 64
Пользователь: Константин СБойчаков (IP-адрес скрыт)
Дата: 11, February, 2005 10:39

Технология выдачи-заказа единая для всех АРМов ИРБИС и изменять ее нужно соответственно для всех АРМ.
Дополнительные параметры управляющие заказом включаются в ини файл irbis_server.ini из ини файла АРМ Читатель


###ZAKAZ OPTIONS#####

[MAIN]
SerVid=J
AnalVid1=ASP
AnalVid2=AUNTD
AnalVid3=NJP
TagVid=920
DBNPREFSHIFR=I=
DBNTAGSHIFR=903
DBNTAGSOURCE=463
DBNDELIMSOURCE=W


[Reader]
RdrPrefReader=RI=

[Request]
RQSTTAGFAMILYREADER=10
RQSTTAGREADER=30
RQSTTAGRDRBRIEF=31
RQSTTAGBRIEF=201
RQSTTAGSHIFR=903
RQSTTAGTIME0=40
RQSTTAGDBN=1
RQSTTAGDOP=100
RQSTTAGNOTE=101

Для идентификации ЧИтателя используется ТОЛЬКО префикс RI=
RdrPrefReader=RI=
Фамилия берется из поля
RQSTTAGFAMILYREADER=10
Это поле никак не используется при авторизации в АРМ Читатель и его можно менять как угодно (только не забыть что для показа формуляра используются поля 10 11 12)

При выполнении заказа в БД RQST в поле
RQSTTAGREADER=30
пишется идентификатор считанный при авторизации из поля ввода пароля и найденный в словаре RI=....
Чтобы поменять его надо быть уверенным что это не скажется на работе АРМ КНиговыдача
А это обязательно скажется хотя бы на статистике спроса и построении соответствий между RDR и RQST и IBIS (Ген каталог)
Так что прежде чем менять авторизацию по идентификатору необходимо просмотреть все технологию выдачи-заказа в ИРБИС
Не рекомендую этого делать тем более что поле 10 специально было введено в WEB ИРБИС для целей ужесточения авторизации
Его вполне достаточно

ИТАК в итоге
Если есть в RDR поле которое хочется использовать для авторизации (в дистрибутиве ФАМИЛИЯ) ВМЕСТЕ с идентификатором Читателя библиотеки нужно только поменять параметр

[Request]
RQSTTAGFAMILYREADER=10

и установить флаг Z21FLAGID=1 в форме авторизации
Этот флаг указывает шлюзу проверять вместе с Идентификатом и вышеуказанное добывавочное поле (если найдена запись с данным идентификатором)


Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 11, February, 2005 17:11

Если я правильно понял, поменять можно только логин? Если так, тогда это не есть гуд... Хотя, с другой стороны, может большая сикурность и не нужна вовсе...

Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 24, February, 2005 21:48

Еще вопрос про авторизацию. Я хочу, чтобы при авторизации текущий контекст работы cgi не сбрасывался (если я нашел нужную книгу и захочу авторизироваться, мне нужно оставить текущий поис, просто добавить к нему параметры Z21ID, Z21FAMILY, Z21FLAGID). Для этого я сейчас сообразил пару функций на javascript, но вот не задача, работает сие только под IE (в опере уже не катит, под другими не пробовал пока).
Через виртуальные поля я могу подключить стандартными стредствами cgi только не меняющиеся названиея параметров.
От сюда предложение: сделать в ини-файле метку поля, которое содержало бы все поля типа ***S21***. Тогда упомянутый мною механизм можно будет реализовать и стандартными средствами cgi.

Re: Авторизация в 64
Пользователь: Константин Сбойчаков (IP-адрес скрыт)
Дата: 25, February, 2005 09:26

Я оставил эту возможность для демонстрации настройки WEB IRBIS на школе ИРБИС в Судаке
Привожу ниже схему настройки:
---------------------------------------------------------------------------------------------
Изменение формы авторизации так чтобы при выполнении команды авторизации повторялась бы последняя выполненная команда Тогда все выглядит так будто авторизация прошла фоном.

Удалим из формы авторизации author_3.frm скрытые параметры
Включим в форму авторизации <!FORMAT=INSERT_ALL_PARAMETERS>
И изменим параметр кнопки авторизации на C21COM1
(не существующая команда) чтобы не путались команды
---------------------------------------------------------------------------------------------

Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 25, February, 2005 10:07

Замечательно, работает, только вот как мне сделать так же закрытие сессии фоном? Дело в том, что закрытие у меня сделано не формой, а просто ссылкой. Причем ее проблема в том, что INSERT_ALL_PARAMETERS вставляет абсолютно все параметры в страницу (в том числе и параметры авторизации). Это не очень корректно. Три параметра авторизации можно вставить и отдельно. Эта команда должна возвращать все параметры кроме Z21ID, Z21FLAGID и Z21FAMILY.
Указаный формат вставляет на страницу параметры как

<input type="hidden" name="C21COM" value="Поиск">

Мне же надо вставить их в виде

C21COM=Поиск&

От сюда конструктивное предложение: задавать формат вывода строки со всеми параметрами в ини-файле строкой типа

ParamInputStr=<input type="hidden" name="<!param>" value="<!value>">

Тогда я и свое реализовать смогу легко, написав

ParamInputStr=<!param>=<!value>&

Так универсальней получится.


Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 26, February, 2005 17:23

Кстати, ненужность параметров авторизации можно подтвердить еще тем, что если логинг был не верный один раз, то страница загружается уже с переметрами типа
<input... name="Z21FAMILY" value="не верное имя">
или
<input... name="Z21ID" value="не верный пароль">
Таким образом получается, что при любой следующей авторизации будет подставляться старый логин/пароль и авторизация будет безуспешной.
Это конечно особенно не важно, можно просто этот формат поставить перед вводом логина/пароля (у меня после, но это ведь и позволило ошибку найти). К тому же при каждой неудачной попытке залогиниться (да и удачной тоже) в строку запроса добавляются все новые и новые параметры авторизации.
К тому же, как я уже сказал, при таком механизме невозможно реализовать разлогин без применения скриптов (JS, VBS и все такое).

Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 01, March, 2005 18:19

Костя, скажить хоть что-нибудь по поводу этого. Всетаки долго жду уже :)...

ОФФ. У меня уже тик нервный появляется, если ответа нет больше чем день :). Форум-то всетаки динамичный. А вместе с ним и я динамичу :))

Re: Авторизация в 64
Пользователь: Константин Сбойчаков (IP-адрес скрыт)
Дата: 02, March, 2005 09:57

Ну что сказать - если работа идет по ссылкам то придется помучиться и вставить необходимые параметры по формату
Разлогиниться такой команды нет но я так понимаю ееможно сделать как ссылку с доп параметрами для браузера
Думаю это не моя задача - хочешь разлогиниться - войди на главную страничку без пароля (как стереть историю назад я не знаю)

Re: Авторизация в 64
Пользователь: Панев Максим (IP-адрес скрыт)
Дата: 02, March, 2005 10:01

А что сложного для тебя (я программно имею ввиду) сделать INSERT_ALL_PARAMETERS для всех параметров, кроме Z'ов?



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