Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
eric555
Я создаю записи в БД с помощью форм access

Причем тут тогда MS SQL ?
Вы думаете, что сервер за вас сформирует правильные тексты команд что ли ?

Ладно, давайте не будем переливать из пустого в порожнее. Я лучше попробую разобраться с этой статьей на английском как будет время и отпишусь уже по существу! А то сейчас бесполезное наполнение топика идет. Спасибо за советы:)
15 май 14, 23:15    [16024266]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
eric555
Ладно, давайте не будем переливать из пустого в порожнее. Я лучше попробую разобраться с этой статьей на английском как будет время и отпишусь уже по существу! А то сейчас бесполезное наполнение топика идет. Спасибо за советы:)
Задайте вопрос на форуме проектирование БД, раз вы вообще не понимаете, как сделать систему прав. Думаю, это даже там неоднократно обсуждалось, поищите сначала.

Я грешным делом подумал, что у вас по модели данных и бизнес-логике прав доступа уже всё готово, и вы задаёте вопрос по реализации всего этого именно на MSSQL :-)
16 май 14, 00:53    [16024579]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
aleks2
Guest
eric555
aleks2
2. За образец могешь взять систему UNIX разграничения доступа к файлам.

Не видел в живую.

И я живого юникса не видал. Зачем его видеть?
Ни к чему это.

ЗЫ. Тредстартер классический "недоучка-халявщик-мечтатель".
Ничего не понимая в теме - он с ходу отметает все предложения.
Он не понимает, что если бы разграничение доступа по-строчно было встроено в MS SQL - его бы уже давно уволили.
16 май 14, 08:34    [16024911]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
П-Л
Guest
eric555
П-Л,

Вьюхи мне не подойдут, я замучаюсь на каждую таблицу делать вьюху!!! У меня основных таблиц в БД порядка 20. 9 зданий(условно) по 5 отделов в каждом (9*5*20=получится 900 вьюшек). Несерьезно и очень неудобно будет! Каждый отдельный отдел при добавлении/редактировании записи, должен видеть только свои записи. Да, и потом, все права доступа, фильтры, идентификаторы для пользователей/групп должны быть на сервере в БД, а не в файлах access (.accdb и .adp). Короче, фишка с вьюшками не подойдет:(

Зачем вы перемножаете ?

Текущий логин пользователя, соединившегося с БД, известен. Его группа достается. При создании новой записи в тригере в поле Группа автоматически записать текущую группу. После этого во вью/процедуру/табличную функцию по выборке данных зашивается условие WHERE <группа текущего пользователя>=<Группа, создавшая запись>. Один объект обслуживает всех пользовтелей а никак не сотни, которые вы себе напридумывали.

В реальности разрешения могут быть не столь примитивны, каким-то группам могут потребоваться права на доступ к чужим записям и тогда достаточно будет добавть таблицы разрешений Группы-Здания и Группы-Отделы, в каждой перечислить пары айди для которых доступ разрешен. В триггере можно реализовать правило можно видеть и чужие, сохранять можно только свои. Все совсем несложно.

Вам катастрофически не хватает знания приемов использования сервера и типовых трюков.
16 май 14, 09:21    [16025079]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
П-Л,

Теоретически я Вас понял, спасибо за подсказку!
Помучаюсь, поизучаю, думаю, получится. А то я смотрю, тут не очень любят тех, кто в первый раз сталкивается с определенной задачей... Еще раз спасибо, сударь! ;)
16 май 14, 22:17    [16029749]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
П-Л,

Как уже знаете, дошел я уже до вью. Только вот незадача! Если отнять все права с таблицы. Навесить на таблицу вью, дать права на вью. То sql не дает вносить данные. Как быть?
20 май 14, 21:28    [16045080]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
То sql не дает вносить данные. Как быть?

так и пишет - "Не дам вносить данные!" ?
20 май 14, 21:37    [16045118]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
eric555
Только sql не дает вносить данные. Как быть?

Причем только через .adp файл, через ODBC полет нормальный!
20 май 14, 21:37    [16045120]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
так и пишет - "Не дам вносить данные!" ?

Ну типа прав на инсерт нет:) А на основную таблицу вообще права никому давать не хочу!
20 май 14, 21:38    [16045124]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
Ну типа прав на инсерт нет:)

Типа прав на инсерт куда ?
Вы опять не знаете, какую именно команду ваше приложение передает серверу ?
20 май 14, 21:40    [16045136]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory,

Знаю, знаю:) Через вью идет команда инсерт в основную таблицу!
20 май 14, 21:42    [16045145]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
Через вью идет команда инсерт в основную таблицу!

Мда. И давно во вьювах разрешили команды инсерт ?
20 май 14, 22:21    [16045270]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory,

В смысле давно? Вы мне скажите как правильнее сделать, я же практикуюсь, тренируюсь!!!
Glory,

Тестирую так, опишу подробнее: создал пока что одну таблицу с тремя полями:
Sn Tekst User_id
1 текст 6
2 текст 6
3 текст 7
4 текст 7

Навесил на нее вью и выбрал первые два поля - Sn и Tekst. Дал вьюхе права на вставку, выборку и обновление. Добавляю информацию в БД через формы access. Если подключить вью через ODBC, то вьюшка редактируется прекрасно и новые записи добавляются. Если делать подключение через .adp файлик access, то именно тогда и вылезает надпись: Запрещено разрешение "INSERT" на объект Table_1.
20 май 14, 22:24    [16045284]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
В смысле давно?

В смысле, что во вью невозможно написать ничего, кроме select-а

eric555
Тестирую так, опишу подробнее:

Ответьте на простой вопрос - вы знаете текст команды, которую выполняет сервер ?

eric555
Запрещено разрешение "INSERT" на объект Table_1.

А зачем вы делаете "INSERT" в Table_1, если INSERT должен быть в представление ?
20 май 14, 22:28    [16045299]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
А зачем вы делаете "INSERT" в Table_1, если INSERT должен быть в представление ?

Вы, наверное, меня не так поняли. Я подключаю вьюшку в аксесс через ODBC, открываю ее и добавляю прямо туда данные. Инсертится как-бы во вьюшку, но на самом деле инсерт то идет в Table_1.
20 май 14, 22:32    [16045314]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
Инсертится как-бы во вьюшку, но на самом деле инсерт то идет в Table_1.

Господи.
Вы думате, сервер не различает, какой объект указан в тексте команды INSERT ?
Вы слишком много программируете мышкой. И очень мало руками.
20 май 14, 22:34    [16045323]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
Вы думате, сервер не различает, какой объект указан в тексте команды INSERT ?

Он все прекрасно различает, только вот почему если делать все тоже самое через .adp файлик, то данные во вью не добавляются??
20 май 14, 22:37    [16045335]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
только вот почему если делать все тоже самое через .adp файлик, то данные во вью не добавляются??

Наверное, у вас мышка не той системы.
Или вы некачественно нажимате ею на кнопочки.
20 май 14, 22:38    [16045338]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory,

Или же вы не так меня поняли и начинаете умничать, типа какой-то дурак хочет что-то сделать и не умеет мышкой пользоваться... ну чтож, и на этом спасибо...
20 май 14, 22:40    [16045345]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
Или же вы не так меня поняли

А что вас понимать, если вы только и рассказывает, как производите какие-то манипуляции в adp мышкой ?
20 май 14, 22:50    [16045392]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
какие-то манипуляции в adp мышкой ?

что значит какие-то? я несколько раз уже написал, что вставляю данные через вью! Значит, имею ввиду команду инсерт. Инсерт во вью. А вью настроена на таблицу. Что тут непонятного?
20 май 14, 22:55    [16045407]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
что значит какие-то? я несколько раз уже написал, что вставляю данные через вью!

Сколько раз вы написали здесь текст команды ?

eric555
Значит, имею ввиду команду инсерт

Где текст этого инсерт ?


eric555
Инсерт во вью.

Ну так где текст команды ?

ЗЫ
Сейчас вы опять начнете расскза про то, как вы мышкой линкуете чего-то там в аксессе. Ппц
20 май 14, 22:59    [16045426]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory,

А вам трудно догадаться, что аксесс не показывает текст самой команды?
20 май 14, 23:16    [16045481]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
Glory
Member

Откуда:
Сообщений: 104751
eric555
А вам трудно догадаться, что аксесс не показывает текст самой команды?

Я открою вам тайну, нужно самому найти этот текст команды
20 май 14, 23:18    [16045488]     Ответить | Цитировать Сообщить модератору
 Re: Разграничение прав пользователей по записям БД (по строкам БД)  [new]
eric555
Member

Откуда: Москва
Сообщений: 397
Glory
Я открою вам тайну, нужно самому найти этот текст команды

..лять, давайте страниц на 20 разнесем обсуждение, как текст этой команды вытащить!
Не помню я где ее вытащить, знаю что где-то в мониторинге SQL...
Давайте сейчас еще страниц на 10 дайте мне понять, что я элементарно вам не могу вытащить этот долбанный текст команды, на который у вас мания какая-то!
20 май 14, 23:23    [16045508]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3] 4   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить