Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Где хранить данные коннекта / 12 сообщений из 12, страница 1 из 1
22.11.2011, 13:53
    #37538564
ALOTE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Такой вопрос. Представим есть абстрактная многопользовательская БД, данные о пользователях системы которая базируется на данной БД хранятся не как пользователи БД, а в таблице структуры типа "user", "password". Есть интерфейс который коннектится к БД через пользователя БД используя логин и пароль. Вопрос в том, где лучше хранить эти логин и пароль, что бы их не заполучили, снаружи? Можно жестко прописать их в коде интерфейса, но тогда, для переноса БД на другой сервер придется переписывать сам интерфейс, плюс декомпиляция может дать пароль сторонним людям. Можно хранить в XML файле, но его легко прочитать опять таки сторонним людям. Можно во внешней маленькой БД с запороленным входом. Какие еще варианты есть?
...
Рейтинг: 0 / 0
22.11.2011, 14:11
    #37538619
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Вообще не хранить, а спрашивать у пользователя при каждом запуске приложения. Или
использовать trusted authentication и доверять винде - она же уже проверила пользователя и
позволила в себя войти.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.11.2011, 14:21
    #37538639
ALOTE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Dimitry Sibiryakov,
Тогда пользователи должны быть созданы на сервере, а я как раз о ситуации, когда пользователи на сервере не созданы, а существуют только на уровне системы.
...
Рейтинг: 0 / 0
22.11.2011, 14:41
    #37538673
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
ALOTEТогда пользователи должны быть созданы на сервере, а я как раз о ситуации, когда
пользователи на сервере не созданы, а существуют только на уровне системы.

В морг такую ситуацию. В двузвенке она бесперспективна.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
22.11.2011, 16:02
    #37538826
JoFan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
ALOTE... а в таблице структуры типа "user", "password" ...

пароли надеюсь не в открытом виде хранятся ? )

Вариант работы: пользователь конектится к БД под общедоступным логином и "регистрируется" через вызов ХП - в случаи неудачи - разрыв соединения со стороны сервера. При успешной регистрации - выдается сессионый ключ - его нужно предоставлять для доступа к данным. Если нужно, выполнять шифрование канала средствами БД.
...
Рейтинг: 0 / 0
22.11.2011, 16:55
    #37538963
ALOTE
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
JoFanALOTE... а в таблице структуры типа "user", "password" ...

пароли надеюсь не в открытом виде хранятся ? )

Вариант работы: пользователь конектится к БД под общедоступным логином и "регистрируется" через вызов ХП - в случаи неудачи - разрыв соединения со стороны сервера. При успешной регистрации - выдается сессионый ключ - его нужно предоставлять для доступа к данным. Если нужно, выполнять шифрование канала средствами БД.
О! Отличное решение! Спасибо за идею.
...
Рейтинг: 0 / 0
23.11.2011, 21:16
    #37541429
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
JoFanALOTE... а в таблице структуры типа "user", "password" ...

Пароли надеюсь не в открытом виде хранятся ? )

Вариант работы: пользователь конектится к БД под общедоступным логином и "регистрируется" через вызов ХП - в случаи неудачи - разрыв соединения со стороны сервера. При успешной регистрации - выдается сессионый ключ - его нужно предоставлять для доступа к данным. Если нужно, выполнять шифрование канала средствами БД.

При наличии поддержки ролей в СУБД:
1. общедоступный логин по правам может только законнектиться к БД и только вызвать ХП регистрации
2. ХП регистрации получает "сертификат" пользователя - можно по серьёзному, типа X-509 :), а можно тупо имя и пароль, шифрованные с учётом временно-зависимых данных, известных и серверу (ид сессии, время установки соединения и т.д.);
3. при успешной проверке пароля в ХП - сессии выдаётся роль, приписанная пользователю - у которй уже есть доступ к данымм и т.п.

Комментарии?
...
Рейтинг: 0 / 0
23.11.2011, 21:31
    #37541447
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
АнатоЛойКомментарии?
Что помешает гаду типа меня назначить себе роль, не вызывая эту мега-процедуру?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
23.11.2011, 21:42
    #37541461
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Dimitry SibiryakovАнатоЛойКомментарии?
Что помешает гаду типа меня назначить себе роль, не вызывая эту мега-процедуру?

Отсутствие прав на назначение себе роли у общедоступного логина.
Отсутствие прав на назначение себе роли у пользователя.
Такие права есть только у ХП регистрации.
Чтобі она отработатла "корректно" - вы должны передать ей "корректные" временно-зависимые параметры ;)
...
Рейтинг: 0 / 0
23.11.2011, 21:44
    #37541464
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
АнатоЛойDimitry Sibiryakovпропущено...

Что помешает гаду типа меня назначить себе роль, не вызывая эту мега-процедуру?

Отсутствие прав на назначение себе роли у общедоступного логина.
Отсутствие прав на назначение себе роли у пользователя роли, которую получает пользователь.
Такие права есть только у ХП регистрации.
Чтобы она отработатла "корректно" - вы должны передать ей "корректные" временно-зависимые параметры ;)

Но, вопрос натолкнул на мысль: видать не во всякой СУБД есть ХП, которые могут получить доступ к данным, на доступ к которым напрямую нет прав у самого пользователя...
...
Рейтинг: 0 / 0
23.11.2011, 21:53
    #37541476
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Не всякая СУБД позволяет запретить назначение себе роли. В SQL стандарте роль это атрибут
коннекта, такой же как имя пользователя.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
24.11.2011, 12:37
    #37542143
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Где хранить данные коннекта
Dimitry Sibiryakov, согласен.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Где хранить данные коннекта / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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