Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хочу странного / 13 сообщений из 13, страница 1 из 1
10.06.2004, 13:58
    #32556220
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Есть мысль ... я ее думаю
Короче есть необходимость получить доступ к некоторому ограниченному
пространству БД до идентификации пользователя ....
Зачем:
В этом пространстве будет храниться информация, необходимая в том числе и для идентификации (ну например: дерево разделителя учета, (т.е. возможность выбора в окне логина, некоторых специфических реквизитов и т.д.)
Есть мысль все это запихнуть в отдельную схему, создать юзера (например COMMON) с минимальными правами на эту схему и фиксированным паролем-сохраненным либо в теле программы либо в конфиг файле (возможно в шифрованном виде) и после запуска приложения логиниться этим пользователем и получать необходимые данные ... потом уже выдавать окно логин и далее все как обычно ....
Теперь вопрос: верно ли это концептуально или все же это потенциальный "геморой" в плане защиты ?

Какие я вижу альтернативы: хранить эти данные либо в регистрах, либо в конфиг файле (но при этом как мне кажеться теряется масштабируемость, т.е.
при репликации данных необходимо будет еще реплицировать конфиг и/или на каждом клиенте делать дополнительные телодвижения ...

Ваше мнение ?
...
Рейтинг: 0 / 0
10.06.2004, 14:09
    #32556242
Klick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
а если конфиги хранить на серваке в каком-нить файле... для всех пользователей в одном файле...
у меня тож как то была мысль такая, но сразу же умерла - потому что это какой-то геморр...
...
Рейтинг: 0 / 0
10.06.2004, 14:10
    #32556253
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
А систему хочешь в 2 или 3 уровня?
...
Рейтинг: 0 / 0
10.06.2004, 14:20
    #32556264
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Old NickА систему хочешь в 2 или 3 уровня?

Система планируется достаточно сложная,
т.е. будут регионалные центры (РЦ) - в которых будут свои серваки
(реплицируемые) с вервером в ЦРЦ
в этих офисах будут Толстые клиенты (WinForms) с хорошей функуиональностью, кроме этого в этих-же РЦ будут службы webservice и доступ к базе по тонкому клиенту с объектов (WebForms) - с ограниченным функционалом ....
...
Рейтинг: 0 / 0
10.06.2004, 14:40
    #32556304
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Почитай здесь как такое реализовать
...
Рейтинг: 0 / 0
10.06.2004, 14:50
    #32556336
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Могу спроектировать базу объектно-ориентированно с системой доступа

подробнее здесь

за первые два пункта возьму дешевле. Кроме того первый пункт можете взять бесплатно здесь
...
Рейтинг: 0 / 0
10.06.2004, 15:06
    #32556379
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Old NickПочитай здесь как такое реализовать

Меня пока не интересует ядро безопасности (хотя это тоже важно) ...
попробую конкретней

допустим есть таблица
Код: plaintext
1.
2.
3.
4.
table Enterprise (
id number not null,
ename varchar2( 60 ),
parent_id number);

так вот, что бы залогинить пользователя , я должен в окне логина выдать,
список предприятий(подразделений) с которым собирается! работать пользователь и на основании этих "предварительных" данных уже будет проверятся уровень(и разрез) доступа а возможно и клиентский интерфейс, понятно что это список можно хранить где угодно ... но тогда почему не в базе ... ?
Т.е. для примера как сделано в 1С, т.е. сначала берется список баз (из реестра) и потом пользователь выбираетс из него и логинится, но если кто с этим сталкивался то помнит, что на каждом клиенте(и под каждым экаунтом виндов) надо прописать этот путь к базам заново ... вот этого я и хочу избежать ...
...
Рейтинг: 0 / 0
10.06.2004, 15:18
    #32556415
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Поясняю. Система доступа разграничивает доступ к объектам базы данных. В моей реализации любой объект лежит в какой-нибудь папке (это тоже объект с набором прав доступа). Пользователь - это тоже объект, у которого есть набор прав на какие-то объекты и методы (формы). Отсюда и определяется интерфейс. Если к папке нет доступа, то этой папки не будет в эксплорере. Если на объект есть доступ только для просмотра, то редактировать его не сможешь.
Объект - пользователь находится по логину. Логином является пользователь SQL Server. Посмотри как это реализовано у меня. Скачай - это бесплатно. Остальное за деньги :-)
...
Рейтинг: 0 / 0
10.06.2004, 15:43
    #32556476
olk
olk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Old NickПоясняю. Система доступа разграничивает доступ к объектам базы данных. В моей реализации любой объект лежит в какой-нибудь папке (это тоже объект с набором прав доступа). Пользователь - это тоже объект, у которого есть набор прав на какие-то объекты и методы (формы). Отсюда и определяется интерфейс. Если к папке нет доступа, то этой папки не будет в эксплорере. Если на объект есть доступ только для просмотра, то редактировать его не сможешь.
Объект - пользователь находится по логину. Логином является пользователь SQL Server. Посмотри как это реализовано у меня. Скачай - это бесплатно. Остальное за деньги :-)

Я очень уважаю проделанный вами объем работы ... но есть несколько но
1. Корпоративный стандарт на СУБД (в моем случае Oracle)
2. Реляционная парадигма (ИМХО) еще не исчерпала себя и хранить объектные
сущности в СУБД мне кажется несколько избыточным (для этого достаточно BusinessLayer)
3. Хоть вами и представлен достаточно большой набор возможностей, опять же ИМХО у меня есть некоторые сомнение что он покроет все мнжество задач с необходимой оптимальностью (хотя я тут могу ошибатся)

Ну и маленькая "шпилька" - к чему я затеял весь разговор...
решите опираясь на свою систему следующую задачу доступа ....

Есть юзер A
Есть таблица Б (стуктуры приведенной в редыдущих постах) и следующим содержанием
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
     
           1  Холдинг_А   null
           2    Предприятие_А  1 
           3    Предприятие_B  1 
           4       Подразделение_1   3 
           5  Холдинг_B  null 
          .....

Если юзер А коннектится с уровнем Холдин_А, то ему доступны все данные нижележащих ветвей, а если с уровнем Подразделение_1, то только данные этого подразделения, при этом на уровне Холдинга интерфейс пользователя отличен от интерфейса на уровне Подразделения (но пользователь один и тот же) - а дальше уже вступает в игру роли, группы и интерфейсы доступа по данному пользователю .....

Кстати приводимые вами ссылки не единственный способ организации ядря доступа ;)
но вы все равно молодец :), перейдите на Oracle + .NET и к вам потянутся люди ;)
...
Рейтинг: 0 / 0
10.06.2004, 16:15
    #32556569
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
В моем случае это можно организовать как root-папка эксплорера, определяемая во время коннекта.
...
Рейтинг: 0 / 0
10.06.2004, 22:48
    #32557254
Old Nick
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
olk1. Корпоративный стандарт на СУБД (в моем случае Oracle)


Не проблема, могу спроектировать и для Оракл, для Оракл это даже легче.

olk2. Реляционная парадигма (ИМХО) еще не исчерпала себя и хранить объектные
сущности в СУБД мне кажется несколько избыточным (для этого достаточно BusinessLayer)

У меня хранятся не объекты, а их маппинги и за счет наследования сильно экономится пространство, время разработки и понимать логику намного легче

olk3. Хоть вами и представлен достаточно большой набор возможностей, опять же ИМХО у меня есть некоторые сомнение что он покроет все мнжество задач с необходимой оптимальностью (хотя я тут могу ошибатся)

Объектная модель позволяет расширять функционал неограниченно, поверьте, я это не из головы говорю. С 1997 существует система Онтарио, до нее еще в 1993 году был написан прототип и до сих пор успешно функционируют несколько экземпляров. Жаль что никто их не продвигает на рынок. Я видимо первый :-)

olkНу и маленькая "шпилька" - к чему я затеял весь разговор...
решите опираясь на свою систему следующую задачу доступа ....

Чтобы точно ответить на этот вопрос мне нужно получить ответы на несколько вопросов.
1. База для всех подразделений одна или подразумевается репликация между отделениями?
2. Подразумевается что к одному и тому же документу один и тот же пользователь имеет разные права в зависимости от подразделения?
3. Или должны запускаться разные клиентские приложения?
...
Рейтинг: 0 / 0
11.06.2004, 09:46
    #32557476
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
вообще-то вмногие базы данных имеют такого юзера как GUEST или PROBE
...
Рейтинг: 0 / 0
11.06.2004, 10:23
    #32557556
Quark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хочу странного
Guestov рекомендуется переименовывать)

А в MSSQL Для таких вещей есть например роль public.
Ну в крайнем случае Application role/
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хочу странного / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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