Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2014, 09:38   #11
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
А вообще в админской проге вход сделать все равно через пароль собирался. собственно как и в основной проге для всех учетных записей.
Ты не понял )))
Открой в HEX редакторе такую программу. Увидишь все строки. Среди них будет и строка подключения и команды SQL. Я так некоторые надоедливые програмулинки под себя правлю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.09.2014, 10:12   #12
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

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

Сиквел имеет смысл защищать/делать доступ "ручками" - например тяжёлой авторизацией на сервере приложений в трёхзвенке, или, например, выведением всего значимого кода в хранимые процедуры, юзерским ролям выдать доступ только на исполнение процедур, каждую процедуру снабдить параметром "ключ от юзера" который внутри проверять и следить за правами. Либо на хранимки вешать права раздельно (ролями хотя бы), чтобы внутри них не воротить лишнего.
На работе юзаем первый и второй вариант, лично я делаю частично второй вариант, но с динамически формируемой строкой подключения в рантайме, причём дельфи-код не декомпильнёшь по-простому, да и толку нет, пароль от юзера вклеивается при этом формировании в строку подключения и даже знай злоумышленник этот пароль - на серваке юзерская учётка бесправна, только выполнение чётко заданных хранимок.
У второго варианта, с ролями и юзерами ( как объектами сервера и базы) есть правда недостаток - мигрировать между серваками и базами сложно, в этом плане трёхзвенка рулит.

Последний раз редактировалось phomm; 24.09.2014 в 10:15.
phomm вне форума Ответить с цитированием
Старый 26.09.2014, 22:45   #13
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

А кто-нибудь может по простому разжевать, чем отличается имя входа от имени пользователя баз данных?
Если я правильно понял, то имя входа - это грубо говоря логин, под которым разрешено подключаться к серверу баз данных (скажем, puser).
Но при этом человек, вошедший под puser`ом, не имеет доступа к базе данных, если он не является ее пользователем. Так чтоли?
max_prorok вне форума Ответить с цитированием
Старый 26.09.2014, 23:39   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Имя входа - это User
А пользователь - это Role
Это если судить по твоему.
Роль - это свод правил, какие действия можно выполнять пользователю
Пользователь - это аккаунт, который имеет права подключаться к СУБД (не к базе! заметь).
Каждому пользователю даются роли.
Когда пользователь (человек) вводит логин и пароль, СУБД открывает ему сеанс, считывает его роли (что он может делать в базе) и соответственно принимает запросы или отклоняет.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2014, 11:48   #15
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Что-то я остался в замешательстве. Вот скрин.
Тут есть и Имя входа, и Роли, и Пользователи. Можно обо всех по порядку? И не отказался бы услышать про схемы и ключи и сертификаты.
max_prorok вне форума Ответить с цитированием
Старый 27.09.2014, 12:06   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Тебе надо взять любую книгу по Сиквелу и прочитать там подробнее о ролях и схемах.
На пальцах не обьяснишь.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.09.2014, 12:12   #17
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Имя входа , оно же логин (в т.ч. в англ версии) это доступ к экземпляру сиквела (возможность подключиться к нему в студии или из коммандной строки или через сеть).
Юзер он же пользователь, это "привязка" логина к базе, т.е. возможность данному логину работать с конкретной базой данных (т.к. на экземпляре сервера баз может быть много).
Роли сервера это кое-что другое, к делу не относящееся (там находятся права по управлению самим сервером, без привязки к базам данных).
А вот роли в разделе безопасности конкретной бд это как раз то, что позволяет разграничивать работу с логикой конкретной бд, доступ к её объектам. При чем там 2 типа ролей, роли бд и роли приложений. Я выше говорил о ролях бд, роли приложений точно не знаю для чего нужны, но насколько помню это для автоматизированного доступа к таким функция как репликация , bulk сервисы и прочие сервисы.
phomm вне форума Ответить с цитированием
Старый 07.10.2014, 09:52   #18
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

Продолжу тему. Ребят, скажите, где ошибка.
Допустим я хочу организовать базу данных с разным уровнем доступа к ней. Я создаю схему (например, basic), в которой у меня будут лежать всякие таблицы, к которым обращаются пользователи. Затем я создаю роль (например, users), в которой указываю разрешения к ранее созданной схеме (basic). Затем создаю логин (login) для человека и пользователя (user) для него же, и помещаю этого юзера в роль users.
Если не так, то я лох и бросьте в меня камень=))
Хотя в любом случае что-то не так. Так что камень лучше приберегите=)) В общем, если я делаю так, то логину приписывается просто роль сервера public. И как я понимаю она не дает возможность юзеру даже открыть базу данных. А если я логину даю роль админа, то он может пользоваться абсолютно всему возможностями админа.
И как вот правильно это сделать?
max_prorok вне форума Ответить с цитированием
Старый 07.10.2014, 11:27   #19
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Если не так, то я лох и бросьте в меня камень=))
Ну че, в общем то верно все.
Цитата:
В общем, если я делаю так, то логину приписывается просто роль сервера public
Почему? Ты же для юзеров свои роли и свои схемы сделаешь. Хочешь - наследуй от паблика не хочешь - свое опишешь.

Кстати ты камней хотел? Лови шлакоблочину - Если хочется красивой безопасности используй хранимые процедуры.
Поясняю: Есть два вида процедур - обычные процедуры и функции, возвращающие как скаляр так и целую таблицу (наподобие вьюшек). Так вот мой тебе совет - таблицы пользователям не открывай. Лучше напиши функцию, которая будет брать из таблицы данные и возвращать пользователю.
Пример я дал тут: http://www.programmersforum.ru/showthread.php?p=1419245
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.10.2014, 16:32   #20
max_prorok
Форумчанин
 
Регистрация: 06.10.2011
Сообщений: 181
По умолчанию

То есть если я понял, то доступ к таблицам надо закрыть. А открыть только к хранимым процедурам? И информация будет записываться и выводиться из стаблиц???
И если можно про наследование поподробнее? А то я видимо где-то что-то недоглядел и не дочитал...
max_prorok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
надо привязать php сайт к базе данных Access и что бы при заполнение формы на сайте данные сохранялись в базе Алёна_))) Microsoft Office Access 2 20.06.2012 12:24
Доступ к базе назначенным пользователям Kostya777 Microsoft Office Access 2 15.01.2011 23:14
Доступ к базе gamaiunov_alex Microsoft Office Access 1 14.10.2010 14:02
Доступ к базе данных SMS windows mobile. ZCL Общие вопросы .NET 0 23.08.2010 22:11
Доступ к базе из нескольких модулей amigo555 БД в Delphi 7 13.04.2009 14:08