Форум A4on.TV и ПО "Атирра"
Программный продукт "Атирра" => Платежные системы => Тема начата: platonische от Ноября 01, 2016, 13:01:43
-
Хочу поднять вопрос о том, как правильно раздать права пользователю базы, под логином которого будет осуществляться операция взаимодействия скрипта сайта и базы данных.
Необходимо минимизировать права, т.к. логин и пароли хранятся в открытом виде на сайте (файл или база).
По большому счету необходимы два запроса к базе.
- Получение инфы по Лиц.счету (часть персональных данных и состояние счета) методом select из таблиц CUSTOMER, HOUSE, STREET
- Пополнение лиц.счета посредством хранимой процедуры ADD_PAYMENT_FROM_EXT_SYSTEMS
-
В ПО нет возможности тонкой настройки прав.
Вы можете воспользоваться сторонними средствами, например IBexpert
или через isql
GRANT SELECT, REFERENCES ON CUSTOMER TO PAYUSER;
GRANT SELECT, REFERENCES ON HOUSE TO PAYUSER;
GRANT SELECT, REFERENCES ON STREET TO PAYUSER;
GRANT EXECUTE ON PROCEDURE ADD_PAYMENT_FROM_EXT_SYSTEMS TO PAYUSER;
-
С такими правами чтение производит а запись через процедуру не происходит
Похоже надо еще открывать на запись в таблицы PAYMENT и PAY_DOC
-
Интересно... но и права на таблицы PAYMENT и PAY_DOC не дали результата
-
Проверьте с этими правами
GRANT SELECT, REFERENCES ON CUSTOMER TO PAYUSER;
GRANT SELECT, REFERENCES ON HOUSE TO PAYUSER;
GRANT SELECT, REFERENCES ON STREET TO PAYUSER;
GRANT SELECT ON PAYMENT_DELETED TO PAYUSER; -- этой таблицы может не быть
GRANT SELECT, INSERT ON PAYMENT TO PAYUSER;
GRANT SELECT, INSERT ON PAY_DOC TO PAYUSER;
GRANT EXECUTE ON PROCEDURE ADD_PAYMENT_FROM_EXT_SYSTEMS TO PAYUSER;
GRANT EXECUTE ON PROCEDURE PAYMENT_ADD_FROM_EXT_SYSTEMS TO PAYUSER;
GRANT EXECUTE ON PROCEDURE PAYMENT_EXT_STATE TO PAYUSER;
-
Читаю информацию, пишут что надо дать права процедуре на все что выполняет процедура
Дал права SELECT, INSERT на таблице PAYMENT и PAY_DOC не помогает.
Скажи что еще делает процедура?
Я смотрел тело процедуры вопросы вызвала только строка:
...
PAY_DOC_ID = GEN_ID(gen_operations_uid,1);
...
Ваше предложение сейчас проверю
Вот это к чему относится? остальное как я смотрю работает с таблицами CUSTOMER, PAYMENT, PAY_DOC
-
Нет ваши права не помогли
-
GEN_ID это получение уникального ключа.
смотрите на что ругается скрипт, он должен выдать на какие объекты не хватает прав.
-
А не подскажешь в php interbase есть возможность вывода подобной информации?
-
да. удали перед вызовом функций @ . @ - подавляет вывод ошибок
-
Функции без @. Но я так и не понял как получить инфу об ошибке.
-
Вывод ошибок в PHP включен?
-
Нет... Включу и отпишусь что там.