@komino
Бархатные

Как правильно реализовать авторизацию пользователя БД через сайт?

Здравствуйте,
Делаю на работе сайт для работы с БД (что-то по типу таблиц в 1с, наверное?)
Опыта ноль, но вроде бы что-то получается

Дошел до части безопасности, но не могу понять, как правильно всё организовать:
Пользователи должны авторизовываться на сайте, как пользователи БД. Т.е., передавать в oci_connect() свою пару логин-пароль. Сейчас, на тестовой базе, я напрямую сохраняю пароль пользователя в сессию и при каждом запросе подставляю его в oci_connect(). В интернетах нахожу только примеры авторизации с помощью таблиц (хранить в таблице логин, хэш пароля и т.д.), но мне это не подходит.
Покидайте, пожалуйста, примеров, где реализована авторизация подобным способом или опишите как это реализовать
  • Вопрос задан
  • 99 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
Безопасность чего?

Если каждый раз авторизовать каждого пользователя через его логин/пароль в oci_connect то это будет медленно, есть метод oci_pconnect, он кеширует данные подключения и для следующего вызова, т.е. не получится в разных вызовах скриптов использовать разные авторизации, в документации я этого не нашел, там вообще для изолированных подключений нужно использовать oci_new_connect().

В веб такой (пользователи веб приложения это пользователи oracle) практикой не пользуются (наверное именно из-за вопросов производительности, хотя я это все трогал так давно, еще во времена 7 и 8 версии, теперь есть и пул подключений и возможно еще какие то фичи)
Да, обычно пользователи веб приложения это просто идентификаторы в соответствующей таблице в базе данных приложения, а логин/пароль базы данных oracle - это логин приложения, единый на вес бакэнд (если есть отдельно бакэнд для веб и отдельно десктопное приложение, то тут можно разные логины использовать, но повторяю плохая).

p.s. oracle дорос до скоростей mysql/postgres веб? особенно если речь об мелких объемах
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы