powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Аутентификация через Web
8 сообщений из 8, страница 1 из 1
Аутентификация через Web
    #33613328
mxlPostgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется БД и скрипты cgi,которые с ней работают. Нужно сделать аутентификацию клиента и открыть доступ только к определенным таблицам с определенными правами (и даже к определенным строкам). Web-сервер и Postgres стоят на одном компе. Будет сделано поле логин и пароль,но как его передать в постгрес (через cgi-скрипт на Си)?
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33615765
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насколько я понял клиентов к базе будет немного тогда

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

это решение в лоб
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33616743
Shweik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mxlPostgres Web-сервер и Postgres стоят на одном компе.

IMHO это здесь несущественно.
mxlPostgres
Будет сделано поле логин и пароль,но как его передать в постгрес (через cgi-скрипт на Си)?
На си сам конечно не пробовал (обычно использую php ), но думаю все получится передать используя вызовы libpq.
Определение прав доступа... к строкам IMHO удобнее всего делить вьюшками в которых проверяется что может current_user() видеть рихтовать а что нет.
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33623527
mxlPostgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Планируется,что с БД будет работать около 1000 клиентов.И надо,чтобы доступ был только к полям,в которых есть идентификатор этого клиента или связанные с ним строки др таблиц (его строки).Можно создать VIEW для каждого из них,но я думаю есть еще др варианты.
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33624545
Fabrichenko Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет вьюхи не надо надо просто хранить идентификатор пользователя и по нему делать выборки

да и кстати юзеров надо делать своих, а в базе набор ограниченный обычно 2-3 аккаунта. Через них на вэб итнерфейсе все сидеть и будут

хранить данные о пользователе надо на серваке в так называемой сессии создаваемой при авторизации

механизм сессий можно реализовать самому юзерам же раздавать рендомные идентификаторы по ним на серваке и узнавать номера юзеров
----------------------------------------------
жизнь как пестня
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33624915
mxlPostgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fabrichenko Viktorнет вьюхи не надо надо просто хранить идентификатор пользователя и по нему делать выборки

да и кстати юзеров надо делать своих, а в базе набор ограниченный обычно 2-3 аккаунта. Через них на вэб итнерфейсе все сидеть и будут

хранить данные о пользователе надо на серваке в так называемой сессии создаваемой при авторизации

механизм сессий можно реализовать самому юзерам же раздавать рендомные идентификаторы по ним на серваке и узнавать номера юзеров
----------------------------------------------
жизнь как пестня
Можно ссылку на то,где пр это подробнее написано.Идентификатор хранить в каждой таблице или просто отслеживать связи по ним?
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33625079
vfabr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
информация о пользователях должна откудато браться ну например создается менеджером по продажам либо самими клиентами

у Вас есть пользователи которые имеют заказы, а заказы в свою очередь имеют строчки

значит у Вас может быть например 3 таблицы
- Клиенты (1 строчка 1 клиент с идентификатором)
- Заказы клиентов (1 строчка 1 заказ 1 из клиентов из Клиенты)
- Строчки заказов (несколько строчек относятся к 1 заказу из Заказы клиентов)

в таблице клиентов естественно надо иметь ключ. Заказы по этому ключу связаны с клиентом, а вот строчки связанны с заказом и в них идентификатор клиента хранить не надо.

ну и по аналогии все что угодно

где почитать незнаю ... откуда знаю тоже не знаю :-)
...
Рейтинг: 0 / 0
Аутентификация через Web
    #33728739
mxlPostgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Fabrichenko Viktorнет вьюхи не надо надо просто хранить идентификатор пользователя и по нему делать выборки

да и кстати юзеров надо делать своих, а в базе набор ограниченный обычно 2-3 аккаунта. Через них на вэб итнерфейсе все сидеть и будут

хранить данные о пользователе надо на серваке в так называемой сессии создаваемой при авторизации

механизм сессий можно реализовать самому юзерам же раздавать рендомные идентификаторы по ним на серваке и узнавать номера юзеров
----------------------------------------------
жизнь как пестня
А чем плохи вьюхи? Для меня главное надежность и я на данный момент думаю,что лучше всего пользователи БД с очень ограниченными правами (могут просматривать вьюхи,где имя пользователя БД совпадает с логином в какой-то таблицей,в которой есть идентификатор. С помощью current_user() нахожу этот id и он используется во вьюхах как ограничение по строкам).
Где здесь могут быть узкие места,с помощью которым можно получить доступ к другим строкам?
Ограничение к строкам примерно следующее:
WHERE t1.id = (( SELECT t1.id
FROM t1
WHERE t1.login = getpgusername()))
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Аутентификация через Web
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]