Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: Хранимая процедура  [new]
o-o
Guest
Jaffar
Чего вы все докопались до человека
- зачем тебе это надо?
- а ты точно уверен что тебе именно ЭТО надо?
- пойди возьми лучше вот ТО, а то ЭТИМ можешь порезаться.....

то и докопались.
что ему уже 100 раз написали, как права пользователя получить.
и 100 тем закрыли, т.к. он сам не в состоянии описать, чего хочет.
вот вместо разведения 101-ой темы пусть подумает и скажет,
чего умеет, чего не умеет, и чего хочет наваять с такими знаниями.
а то собрался писать трактат о движении планет,
наигравшись в бильярд и уверенный, что все знает о движении шариков
Роль БД
Права доступа
Диалоговое окно.
17 ноя 15, 15:03    [18429781]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
Немного предыстории
Есть программист на опыте который написал приложение на C# и linq to sql и базой на sql server, для учета пропусков работников в большой организации, есть я человек который только что закончил университет в глаза не видевший С#, LINQ, и даже не подозревавший о существовании SQL server, соответственно без какого-либо опыта разработки клиент-серверных приложений и вдруг передается данный проект с заданием допилить, чтобы разграничить действия пользователей. Как придумать универсальных механизм? Я душе в чаю, хватило фантазии сделать несколько ролей и приделать форму администрирования.
to Glory
Они смогут менять права только если вызовут вашу пользовательскую процедуру для просмотра списка прав ?
Если они вызовут сразу sp_helprotect, то они не смогут поменять права ?
Надеюсь что смогут результат процедуры будет отображен в gridcontrol DevExpress который позволяет прикрутить chek к определенным полям. Соответственно результат отобразиться в гриде где будет список объектов базы и разрешения будет галочка, где нет значит нет. Добавив/убрав галочку на каком-либо объекте и подтвердив, наверное будет формироваться запрос на изменение и отправляться на сервер.

По-моему, вы как раз сейчас и занимаетесь созданием двойной работы
Я вообще не знаю почему так хотят это сделать.

to o-o
вы читаете, что вообще вам пишут?
та процедура -- ископаемый ящер,
она не показывает даже права на схемы.
Представьте себе, читаю.
Покажите правильную, современную процедуру.

to Jaffar
(да просто создай процедуру с тем же набором/типами параметров и вызови из нее процедуры ТУ САМУЮ)
Ну а по хорошему нужно вдумчиво посмотреть/почитать про системный вид sys.syspermissions.
Спасибо, почитаю, попробую разобраться.
To o-o
у меня есть предположение по этому поводу.
выхлоп системных процедур он не смог на форме отобразить в прошлых темах типа:
Диалоговое окно.
видимо, кто-то подсказал не использовать системные,
а свою написать, чтобы выдавала результат в том виде, к-ый он сумеет отобразить.
только товарищ никак не понимает, что ему надо руками код написать, к-ый ему нужен,
а не сменить наименование процедуры, типа она уже не системная, а пользовательская.

а т.к. никто не знает, что вообще он способен в приложении отобразить,
то никто и помочь не в состоянии
А вот и не угадал.
17 ноя 15, 15:38    [18430091]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
Чип&Дейл
НА вот и не угадал.

а вот и еще как.
потому что вот это:
Чип&Дейл
Если они вызовут сразу sp_helprotect, то они не смогут поменять права ?
Надеюсь что смогут результат процедуры будет отображен в gridcontrol DevExpress
который позволяет прикрутить chek к определенным полям.
Соответственно результат отобразиться в гриде где будет список объектов базы и разрешения будет галочка,
где нет значит нет. Добавив/убрав галочку на каком-либо объекте и подтвердив,
наверное будет формироваться запрос на изменение и отправляться на сервер.

говорит о том, что вы и в универе ворон считали на лекциях.
"компьютер все может!!!" -- так бабки в деревне думают.
да я хоть сейчас форму в VS сделаю запускаемую,
куда чекбоксов наложу.
и их можно будет чекать, ага.
рядом еще тексты припишу всяческие.
могу вам подарить.
будете чекать.
только ни на каком сервере никаких прав от этого не прибавится.
хоть бы у чекбокса и подписано было SYSADMIN
17 ноя 15, 15:47    [18430147]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
Возможно я не прав, я ведь не отрицаю и не спорю что это будет работать, может это и не правильный подход и скорее всего я буду думать как сделать по другому, это лишь до чего я догадался сам в силу своих небольших знаний в данной сфере. В теме про диалоговое окно никто так и не ответил где и какую dll искать и подключать.
Так что поменьше глумления, вспомните себя как начинали.
17 ноя 15, 16:15    [18430327]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Glory
Member

Откуда:
Сообщений: 104751
Чип&Дейл
В теме про диалоговое окно никто так и не ответил где и какую dll искать и подключать.

Какую найдете, такую и подключайте. Серверу глубоко безразличен ваш клиентский код.

Чип&Дейл
Так что поменьше глумления, вспомните себя как начинали.

Начинают все таки не написания собственной системы раздачи прав.
Потуги решать интегралы без знания таблицы умножения не вызывают сочуствия.
17 ноя 15, 16:24    [18430370]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
Чип&Дейл
Так что поменьше глумления, вспомните себя как начинали.

Начинают все таки не написания собственной системы раздачи прав.
Потуги решать интегралы без знания таблицы умножения не вызывают сочуствия.[/quot]

С этим не поспоришь, я согласен что нужно хотя бы разобраться как работает платформа, прочитать какие-то умные книжки например Эндрю Троелсен и начать с чего-то банального и простого вывода в обычный грид или консоль и по нарастающей,но дали то что дали и с начальством особо не поспоришь потому что или делать, учиться, осваивать или искать другую работу что особо легко без опыта работы хотя бы год.
17 ноя 15, 16:48    [18430505]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Glory
Member

Откуда:
Сообщений: 104751
Чип&Дейл
но дали то что дали и с начальством особо не поспоришь потому что или делать, учиться, осваивать или искать другую работу что особо легко без опыта работы хотя бы год.

Это тоже ваши личные проблемы.
17 ноя 15, 16:51    [18430529]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
Чип&Дейл
В теме про диалоговое окно никто так и не ответил где и какую dll искать и подключать.

пойдите в форум по шарпу и там спросите про dll, если есть готовая,
откуда людям в этой теме знать.
а если писать самому, то для начала надо понять,
что выдать права на что-то это GRANT,
а не апдэйт данных в какой-то таблице, к-ую вы собрались засунуть в грид в надежде на редактирование.
и этот GRANT надо в обработчикe события на сервер отсылать.
а "оно само" ничего и никуда не отправит.
17 ноя 15, 16:58    [18430587]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
Чип&Дейл
с начальством особо не поспоришь потому что или делать, учиться, осваивать

ну так идите и читайте про обработчики событий (не в этой ветке, в шарп идите)
про права вот почитайте
Authorization and Permissions in SQL Server
GRANT (Transact-SQL)
17 ноя 15, 17:06    [18430638]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
o-o
Чип&Дейл
В теме про диалоговое окно никто так и не ответил где и какую dll искать и подключать.

пойдите в форум по шарпу и там спросите про dll, если есть готовая,
откуда людям в этой теме знать.
а если писать самому, то для начала надо понять,
что выдать права на что-то это GRANT,
а не апдэйт данных в какой-то таблице, к-ую вы собрались засунуть в грид в надежде на редактирование.
и этот GRANT надо в обработчикe события на сервер отсылать.
а "оно само" ничего и никуда не отправит.


Я хоть где-то сказал, что будет использоваться Update? запрос на изменение не подразумевает только update, по крайне мере я не имел ввиду его использование, тут опять же моя не точная формулировка мыслей.
Разве нельзя пройтись циклом по гриду считав название объекта с соответствующего поля и проверить колонку грида (именно колонку, а не простой чекбокса про который Вы говорили) на наличие чека и потом уже собирать GRANT на исполнение?
17 ноя 15, 17:40    [18430879]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
o-o,
А причем здесь обработчики событий?
17 ноя 15, 17:43    [18430903]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
Чип&Дейл
А причем здесь обработчики событий?

вы на шарпе или где?
вы гранты раздаете или что?
---
в последний раз:
раздача прав это не редактирование грида.
если вы просто отобразите чьи-то права в гриде,
собрав инфо из ф-ции, представления или процедуры,
ничего вам редактирование этого набора не принесет.
или писать самому обработку чекбоксов или что у вас там,
или искать написанное кем-то.
и это написанное именно гранты отсылает, а не апдэйты
17 ноя 15, 17:53    [18430962]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8725
Чип&Дейл,
зачем изобретать велосипед, есть есть инструмент администрирования сервера и баз - это SSMS.

Мне кажется, что Вы путаете права пользователей в приложении и права доступа к объектам базы данных.
17 ноя 15, 18:13    [18431110]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
сорри что влез
Guest
Чип&Дейл, дорогой, я прям вот ну ооооочень сильно сомневаюсь что задача вообще про серверные скульные права.

при чем тут права на схемы? начали же с того, что _пользователям_программы_написанной_на_c#_ что-то можно делать, а что-то нельзя.

+ в программе же, а не на сервере


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

безопасно в смысле общей безопасности - что никто не украдет, не поломает.

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

заведите тупейшую табличку "доступ на действия в программе" и ставьте там галки.
а на c# или в хранимках проверяйте.

вы ж если серверными правами порешаете, то узнавать о наличии прав как будете? путем падения? выдачей всем прав на мастер?
17 ноя 15, 18:31    [18431232]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
o-o,
В шарпе. Раздаю гранты.

Любое содержимое грида можно представить в виде текста ToString или нет?
К примеру есть такое событие RowCellClick
тогда можно обычным кликом по гриду получить имя объекта
s=e.CellValue.ToString
разве нет?
Проверить колонки на наличие чека и вернуть true/false и вернуть значение, тоже ничего не мешает, верно?
А теперь что мешает в конце цикла сформировать GRANT и подставить в него значения переменных?
17 ноя 15, 18:38    [18431283]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
Чип&Дейл
o-o,
В шарпе. Раздаю гранты.

Любое содержимое грида можно представить в виде текста ToString или нет?
К примеру есть такое событие RowCellClick
тогда можно обычным кликом по гриду получить имя объекта
s=e.CellValue.ToString
разве нет?
Проверить колонки на наличие чека и вернуть true/false и вернуть значение, тоже ничего не мешает, верно?
А теперь что мешает в конце цикла сформировать GRANT и подставить в него значения переменных?

вы это у меня или у себя спрашиваете?
у меня все права давно рОзданы и проблем никаких нет.
что, нашли уже события?
например, RowCellClick?
еще пару постов назад вы удивлялись их существованию
и тому, что надо писать обработчики этих событий, чтобы хоть что-то сделалось
17 ноя 15, 18:43    [18431310]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
вот это поворот
Guest
Чип&Дейл
o-o,
В шарпе. Раздаю гранты.

Любое содержимое грида можно представить в виде текста ToString или нет?
К примеру есть такое событие RowCellClick
тогда можно обычным кликом по гриду получить имя объекта
s=e.CellValue.ToString
разве нет?
Проверить колонки на наличие чека и вернуть true/false и вернуть значение, тоже ничего не мешает, верно?
А теперь что мешает в конце цикла сформировать GRANT и подставить в него значения переменных?

ничего не мешает.
ты все правильно делаешь.
17 ноя 15, 18:48    [18431337]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
Чип&Дейл
Guest
Спасибо за сарказм, возможно это не будет работать и я где-нибудь накосячу но пока нет других идей
17 ноя 15, 18:51    [18431355]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
вот это поворот
Чип&Дейл
o-o,
В шарпе. Раздаю гранты.

Любое содержимое грида можно представить в виде текста ToString или нет?
К примеру есть такое событие RowCellClick
тогда можно обычным кликом по гриду получить имя объекта
s=e.CellValue.ToString
разве нет?
Проверить колонки на наличие чека и вернуть true/false и вернуть значение, тоже ничего не мешает, верно?
А теперь что мешает в конце цикла сформировать GRANT и подставить в него значения переменных?

ничего не мешает.
ты все правильно делаешь.

ну не совсем все.
что идеологию обработки событий понял -- мы всячески поздравляем.
но он же в грид собрался вывалить *уже имеющиеся гранты*,
и тогда на что же он собрался раздавать права?
на то, где уже до него рОздано?
17 ноя 15, 18:53    [18431365]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
апликейшен победа
Guest
o-o
вот это поворот
пропущено...

ничего не мешает.
ты все правильно делаешь.

ну не совсем все.
что идеологию обработки событий понял -- мы всячески поздравляем.
но он же в грид собрался вывалить *уже имеющиеся гранты*,
и тогда на что же он собрался раздавать права?
на то, где уже до него рОздано?

- CONTROL SERVER не роздан! кому CONTROL SERVER?? зеньсина, зеньсина! падходим, берем.
17 ноя 15, 18:59    [18431400]     Ответить | Цитировать Сообщить модератору
 Re: Хранимая процедура  [new]
o-o
Guest
апликейшен победа,
вот-вот, паблику его раздать, и более никаких проблем
Помогите чайнику с DENY, запрет разрешений на объект.
17 ноя 15, 19:12    [18431471]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить