powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Права пользователя при подключении к SQL серверу
25 сообщений из 44, страница 1 из 2
Права пользователя при подключении к SQL серверу
    #33461705
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Объясните мне механизм подключения пользователй к серверу, пожалуста. Как вообще осуществить такой доступ к серверу? Создать таблицу на сервере, где заведены все пользователи и их пароли и при запуске приложения пользователь выбирает свой логин и пароль, затем проверяется с этой таблицой и происходит запуск приложения. Или на сервере создавать пользователей, а затем в строке соединения указывать пароль логин и т.д.
Спасибо!
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33461851
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на сервере:
1.создать пользователей
2.создать группы пользователей
3.ввести пользователей в группы
4.в базе данных дать права группам пользователей и/или пользователям

пункты 2,3 могут отстутствовать но с группами удобней если пользователей
много

в приложении:
1.спрашивать у пользователя логин/пароль
2.подставлять полученные логин/пароль в строку подключения


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462080
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я даю пользователям доступ к серверу только через мое приложение.
На сервере храню таблицу пользователей с паролями
и даю доступ на запуск процедуры, которая читает данные из этой таблицы.
Если все ОК, то запускается приложение со своим паролем, который неизвестен пользователям и накак не связан с паролями входа в приложение.
Если пользователям давать права доступа непосредственно на сервер, то особо продвинутые из них смогут получить данные, используя Access, Excel и другие программы. А это крайне нежелательно.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462184
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novaОбъясните мне механизм подключения пользователй к серверу, пожалуста. Как вообще осуществить такой доступ к серверу? Создать таблицу на сервере, где заведены все пользователи и их пароли и при запуске приложения пользователь выбирает свой логин и пароль, затем проверяется с этой таблицой и происходит запуск приложения. Или на сервере создавать пользователей, а затем в строке соединения указывать пароль логин и т.д.
Спасибо!
Что в данном контексте имеется в виду под "сервером"?
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462194
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я даю пользователям доступ к серверу только через мое приложение.
На сервере храню таблицу пользователей с паролями
и даю доступ на запуск процедуры, которая читает данные из этой таблицы.
Если все ОК, то запускается приложение со своим паролем, который неизвестен
пользователям и накак не связан с паролями входа в приложение.
Если пользователям давать права доступа непосредственно на сервер, то особо
продвинутые из них смогут получить данные, используя Access, Excel и другие
программы. А это крайне нежелательно.


---------
это неправильно. Таким образом ты отказываешся от предоставляемых сервером
средств по разделению прав доступа и пытаешся создать их сам.
1.Лишняя работа,
2.лучше чем в скл сервере сделать практически невозможно,
3.могут быть ошибки в твоём коде.
4.Кроме того если права на доступ к данным прописаны на сервере то никакой
пользователь никакими средствами не сможет ни посмотреть ни изменить то что
ему не разрешено, вопросы с аксесом/екселом просто не возникают

если не ясно как можно организовать разграничения прав в скл сервере можно
посмотреть документацию к нему, в конечном итоге это будет эффективней





Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462543
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКроме того если права на доступ к данным прописаны на сервере то никакой пользователь никакими средствами не сможет ни посмотреть ни изменить то что ему не разрешено, вопросы с аксесом/екселом просто не возникают


Это неправильно. Если пользователь заведен на сервере, то он имеет к нему доступ (независимо от приложения) в соответствии со своими правами.
Как раз вопросы с аксесом/екселом поэтому и возникают.

Преимущество такой схемы в вопросах администрирования тоже спорно.

Если приложение динамично, постоянно вносятся изменения в структуру,-создаются новые объекты, то администрить в этом случае сложнее.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462761
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это неправильно. Если пользователь заведен на сервере, то он имеет к нему
доступ (независимо от приложения) в соответствии со своими правами.
Как раз вопросы с аксесом/екселом поэтому и возникают.

----------------------

если пользователь заведён на сервере то он никуда доступа не имеет. Он имеет
доступ только к тем объектам к которым дан доступ. Доступ может быть
отдельным не только на объекты бд (таблицы, вью, процедуры) но и на
insert/update/select/delete/create. Не зависимо от приложения из которого
идёт коннект, хоть из ексела хоть из аксеса. Хоть из командной строки
(isql). В очень редком случае когда нужно какую-то дополнительную проверку
пользователя делать это надо в триггерах на таблицы а не в клиентском
приложении. Да и вообще вся логика должна быть на сервере в большинстве
случаев

хелп надо читать. Использование сервера позволяет поднять производительность
и защиту приложения. Отказ от средств предоставляемых сервером делает
бессмысленным его использование


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462879
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторесли пользователь заведён на сервере то он никуда доступа не имеет. Он имеет доступ только к тем объектам к которым дан доступ. Доступ может быть отдельным не только на объекты бд (таблицы, вью, процедуры) но и на insert/update/select/delete/create. Не зависимо от приложения из которого
идёт коннект, хоть из ексела хоть из аксеса. Хоть из командной строки
(isql).

Я и писал именно об этом. Что, если пользователь имеет права на сервере, то он может подконнектиться к нему из стороннего приложения. Для меня это крайне нежелательно.

авторВ очень редком случае когда нужно какую-то дополнительную проверку
пользователя делать это надо в триггерах на таблицы а не в клиентском
приложении. Да и вообще вся логика должна быть на сервере в большинстве
случаев


Надо разделять логику разграничения прав доступа, логику поддержания целостности БД и бизнес-логику приложения, а не валить все в одну кучу:)
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462974
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитай ещё раз
права пользователю даются именно такие какие нужно. Нет смысла давать
пользователю права на удаление из таблицы товаров на складе чтоб потом в
приложении проверять есть ли у него право удалять из таблицы товаров.
Понятна разница? В одном случае у Иванова поставить крест на delete в
таблице товаров и всё, в твоём - написание процедуры которая проверяет есть
ли у Иванова право удалять из этой таблицы, процедур для работы со списком
паролей (добавление, изменение и пр.), процедур на получение информации о
правах пользователя и при этом все пользователи все работают под учётной
записью



---------
Надо разделять логику разграничения прав доступа, логику поддержания
целостности БД и бизнес-логику приложения, а не валить все в одну кучу:)
---------
надо. Для этого на сервере средств достаточно. Переносить это на клиента -
сизифов труд и добавление проблем с доступом


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33462978
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не надо упорствовать


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463385
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024

---------
это неправильно. Таким образом ты отказываешся от предоставляемых сервером
средств по разделению прав доступа и пытаешся создать их сам.
1.Лишняя работа,
2.лучше чем в скл сервере сделать практически невозможно,
3.могут быть ошибки в твоём коде.
4.Кроме того если права на доступ к данным прописаны на сервере то никакой
пользователь никакими средствами не сможет ни посмотреть ни изменить то что
ему не разрешено, вопросы с аксесом/екселом просто не возникают

если не ясно как можно организовать разграничения прав в скл сервере можно
посмотреть документацию к нему, в конечном итоге это будет эффективней

Не согласен, что это не правильно.
Средства управления доступом в SQL Server (логины, пользователи, роли, разрешения) плохо согласуются с бизнес логикой приложения. Согласитесь, что гораздо проще и правильней не дать возможность пользователю делать то, что ему не положено, а не получать с сервера ошибку типа denied access. Сервер дает возможность управлять правами на уровне ОБЪЕКТОВ сервера (таблица, колонка, процедура ии пр.), а в приложении права даются на уровне бизнес объектов приложения (документов, справочников, отчетов и пр.). Связать их очень не просто, значительно проще все это сделать через приложение. Например так http://www.caws.atnet.ru/vfox/sql6.html.
И не надо упорствовать :)
С уважением, Алексей.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463454
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-KИ не надо упорствовать :)...
Некоторые ребята из Microsoft рекомендуют подход, описанный FoxLamer...
Хотя как я понял, оба подхода имеют право на жизнь...

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

Сколько людей, столько мнений...

But anyway, good luck!
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463532
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как назначить разрешения для роли на все объекты базы данных?
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463658
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novaКак назначить разрешения для роли на все объекты базы данных?
1. Через код: команда T-SQL GRANT. Посмотрите в BOL ее синтаксис. В зависимости от объекта, синтаксис разный.
2. Через EM. Находите требуемую роль, двойным щелчком на ней и кнопка Permissions.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463696
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, можно по разному, но такие высказывания:

авторСредства управления доступом в SQL Server (логины, пользователи, роли, разрешения) плохо согласуются с бизнес логикой приложения. Согласитесь, что гораздо проще и правильней не дать возможность пользователю делать то, что ему не положено, а не получать с сервера ошибку типа denied access. Сервер дает возможность управлять правами на уровне ОБЪЕКТОВ сервера (таблица,


возникают вероятно от незнания/недостаточного опыта по работе с скл серверами и самим скл. Нормально там всё с согласованием бизнес логики и управлением доступом.

у меня тоже ссылка есть: http://sss1024.narod.ru/ver.htm , всё там прекрасно согласуется.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463779
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати Микрософт сама движется к тому, чтобы отделить пользователей от владения объектами БД.
Начиная с 7 версии введена роль приложения. А в MSSQL2005 реализовано назначение прав на объекты БД через схемы. Так гораздо удобнее.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463879
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024возникают вероятно от незнания/недостаточного опыта по работе с скл серверами и самим скл. Нормально там всё с согласованием бизнес логики и управлением доступом.
Насчет моего опыта с SQL ... Давайте не переходить на личности... Я работаю с SQL, начиная с верисии 6.0 и читаю ВСЕ курсы по SQL (2071, 2072, ....2093) в одном из Московских учебных центров Microsoft ...Лучше подтвердите свои высказывения примерами. На вашей страницы я не нашел НИЧЕГО, относящегося к вопросу темы. Что ТАМ "всё с согласованием бизнес логики и управлением доступом."? (ваша цитата). И где там? Если вы про SQL Server, то там ничего не согласовано с бизнес логикой. Приведите пример, что имеется в виду.
Каким образом, например, администратор программного комплекса (не SQL Server) может управлять доступом к бизнес - обьектам средствами самого SQL Server? Он что должен запускать EM или QA?
Как правило, одному бизнес-объекту в системе соответствует несколько объектов базы данных (таблицы, храним. процедуры и пр.). Кто будет решать ДИНАМИЧЕСКИ к камим объектам давать доступ при требовании доступа конкретному пользователю к, например, материальному отчету? Администратор базы данных слов таким просто не знает - "материальный отчет", а администратора системы не представляет какие объекты базы данных отвечают за данный бизнес-объект. Это знает только разработчик. И через клиентское приложение свои знания может реализовать в виде, например, такой формы VFP. Слева выделены пользователи системы, а слева - их права на бизнес-объекты системы.
Еще одно. Вы что-же будут давать права db_onwer или, даже sysadmin администратору базнес-логики ? А не страшно ?
Далее... Вы вообще представляет, сколько может быть объектов базы данных в реальной большой системе? У нас в системе их несколько тысяч. И кто будет разбираться с правами на эти объекты?
Буду ждать вашего ответа на эти вопросы.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463890
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот форма VFP для управления доступа к объектам бизнес - логики.
А вы предлагаете что ? Запускать администратору бизнес-логики EM и проставлять права на таблицы, хранимые процедуры и пр.? Для большой системы это не пройдет.
С уважением, Алексей
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463929
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зависит от того как спроектирована база данных. Можно всё вывалить в одну
плоскую таблицу а контроль целостности и прав доступа/ модификации
реализовать в клиентском приложении. В ряде случаев такой подход имеет место





------------
Как правило, одному бизнес-объекту в системе соответствует несколько
объектов базы данных (таблицы, храним. процедуры и пр.). Кто будет решать
ДИНАМИЧЕСКИ к камим объектам давать доступ при требовании доступа
конкретному пользователю к, например, материальному отчету? Администратор
базы данных слов таким просто не знает - "материальный отчет", а
администратора системы не представляет какие объекты базы данных отвечают за
данный бизнес-объект. Это знает только разработчик. И через клиентское
------------

в идеале кто куда имеет доступ решает проектировщик, для админа существует
документация по администрированию, программист пишет по ТЗ. В реальности
конечно во многих случаях получается не просто "Это знает только
разработчик" а один конкретный кусок приложения знает один человек, другой
кусок - другой человек и т.д. Но это уже вопрос управления проектами а не
доступом к данным в приложении







-------------
Далее... Вы вообще представляет, сколько может быть объектов базы данных в
реальной большой системе? У нас в системе их несколько тысяч. И кто будет
разбираться с правами на эти объекты?
-------------

ну и что хорошего в том что даже разработчики толком не знают как это всё
работает? Проблема больших систем существует, да. У многих так (и в у меня в
конторе, разумеется). Но проблемы нужно решать. Опять же к вопросам о
доступе к данным это отношения не имеет. Это проблемы управления проектами


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463966
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K

Алексей.

Вопрос не по делу, для чего нужен SplitBar у грида справа внизу/каков тайный смысл ;) - похоже на наследие прошлого.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33463986
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу оговорюсь - пишу про наши программы/комплексы, у которых не я разработчик. Итак:
1) Если приложение/база небольшие (автоматизация одного/нескольких участков бизнес-процесса) -
реализовано как у FoxLamer, т.е.
- ODBC connect через некоего SQL User, входящего в роль db_owner.
- Пользователи/пароли/доступ к функциям приложения - через список пользователей самого приложения.
Недостаток известен - для "особо продвинутых пользователей" никто не
запретит подключиться к базе через это соединение - результат может быть плачевен.
2) Для больших баз/"серьезных" приложений
- ODBC connect с Windows или Mixed авторизацией со стороны клиента,
соответственно эти же пользователи/группы присуствуют В SQL Logins
с правами роли public.
- В базе хранятся те же пользователи/группы со своими правами доступа
к объектам бизнес-логики, соответственно в приложении имеется отдельный
административный модуль для настройки этих прав (а уж как они физически
реализованы - проверкой ли в ХП, выполнением GRANT при изменении прав
или еще как - для администратора программного комплекса "тайна сия великая есть").
Недостатки известны и здесь - некоторые сложности при раздаче прав -
нужно хорошо ориентироваться в системе защиты данных комплекса (ну
на то разработчики и должны документацию писАть), хотя существуют
утилитки (для SQL, а также и для самих комплексов), которые хоть в какой-то
мере позволяют управлять правами, не ползая в приложение, EM, QA и т.д.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33464066
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1) Если приложение/база небольшие (автоматизация одного/нескольких участков бизнес-процесса) -
реализовано как у FoxLamer, т.е.
- ODBC connect через некоего SQL User, входящего в роль db_owner.
- Пользователи/пароли/доступ к функциям приложения - через список пользователей самого приложения.
Недостаток известен - для "особо продвинутых пользователей" никто не
запретит подключиться к базе через это соединение - результат может быть плачевен.


Вы меня поняли с точностью до наоборот. У меня как раз реализован доступ таким образом, что юзеры не имеют на сервере учетных записей. И именно для того, чтобы запретить подключаться напрямую к серверу из других приложений.
На сервере создается всего 2 записи:
1-FirstLogin для запуска единственной процедуры, которая читает таблицу пользователей
2-App для работы самого приложения, пароль которой даже администратор не знает, т.к. он формируется автоматически в момент первого запуска программы.
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33464085
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2-App для работы самого приложения, пароль которой даже администратор не
знает, т.к. он формируется автоматически в момент первого запуска программы.
-----------


именно об этом и говорят: никогда не говори "никогда", если кто-то узнает
сгенерённый пароль (конечно это не возможно и приложены все усилия для
этого, хотя где-нить какя-то дырка обычно есть) то он сможет делать всё что
захочет


кстати, сложность приложения это тож своеобразная защита, вон в 1ц например,
что-нить напрямую в бд поменять - надо ещё узнать где менять


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33464086
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, AndreTM, а какой у Вас критерий большой базы\"серьезного" приложения. 60 БД на сервере(головной офис и филиалы) каждая с несколькими сотнями ХП и таблиц большая или нет?
...
Рейтинг: 0 / 0
Права пользователя при подключении к SQL серверу
    #33464113
Фотография FoxLamer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторименно об этом и говорят: никогда не говори "никогда", если кто-то узнает
сгенерённый пароль (конечно это не возможно и приложены все усилия для
этого, хотя где-нить какя-то дырка обычно есть) то он сможет делать всё что
захочет

В Вашем варианте вероятность получить несанкционированный доступ к данным гораздо выше, т.к. пользователи имеют учетные записи на сервере и прямой доступ к его объектам.
...
Рейтинг: 0 / 0
25 сообщений из 44, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Права пользователя при подключении к SQL серверу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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