powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / трехзвенная архитектура
10 сообщений из 310, страница 13 из 13
трехзвенная архитектура
    #33398335
awhiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarerДопустим. И кому легче от того, что система будет взломана из-за ошибки архитектора?
По крайней мере такую ошибку не очень сложно отловить еще на этапе проектирования.
И она не имеет отношения к тому, будет ли третий слой, будет ли чистый БД, или терминальный доступ.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33398628
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
awhilerПо крайней мере такую ошибку не очень сложно отловить еще на этапе проектирования.
В первую очередь стоит отметить, что человек, отвечающий за защиту в конкретной организации, часто не имеет возможности участвовать в этапе проектирования.

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

Разумеется, с практической точки зрения маловероятна действительно опасная уязвимость подобного рода; скорее всего проблемы ограничатся мелкими шалостями в пределах прав пользователя. Но "совсем несуществующей" такую проблему тоже не назовешь.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33399417
awhiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer
Единственный путь заранее гарантировать себя от нее - не пользоваться контекстом вообще, то есть в каждом вызове бизнес-функции передавать информацию начиная от имени-пароля пользователя.

Да, полностью согласен. Так и надо делать. И никаких сессий.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33401303
ВМоисеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>awhiler
>Да, полностью согласен. Так и надо делать. И никаких сессий.

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

С уважением, Владимир.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33401720
UrryMcA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри - выложил схему под другим именем и не заметил.



http://www.uncommon-logic.com/urry/3t/scheme2.htm
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33403614
UrryMcA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЕдинственный путь заранее гарантировать себя от нее - не пользоваться контекстом вообще, то есть в каждом вызове бизнес-функции передавать информацию начиная от имени-пароля пользователя.

Это невозможно в некоторых случаях:

например, когда операция включает в себя несколько атомарных операций в рамках одной транзакции.

В этом случае нужно либо хранить контекст на клиенте целиком (включая все блокированые объекты), либо таки использовать контекст сессии на сервере (это всяко легче).
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33405655
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrryMcAЭто невозможно в некоторых случаях:
Согласен. А даже когда возможно - далеко не факт, что оправданно.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33410966
awhiler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
UrryMcA
например, когда операция включает в себя несколько атомарных операций в рамках одной транзакции.


Не понял. Что значит "несколько атомарных операций в одной транзакции"? Транзакция на то и транзакция что она атомарна и неделима. Вы предлагаете на одну транзакцию делать несколько вызовов сервера с клиента? Зачем? Можно привести конкретный пример?
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33413618
UrryMcA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Основная идея моего поста - "контекст сессии на сервере необходим в определенных случаях"

>>Что значит "операция включает в себя несколько атомарных операций в <
>>рамках одной транзакции"?
>>Можно привести конкретный пример?

Операция "Проведение документа расходная накладная". В рамках операции производятся следующие операции: блокировка регистра* остатков товара, блокировка регистра резервов, блокировка регистра взаиморасчетов. Расчеты учитывающие общее состояние учетной системы, конкретного клиента и пользователя проводящего документ.

Все это выполняется в рамках одной транзакции.

Т.о. существуют разделяемые ресурсы, которые должны быть зафиксированы между клиентскими сессиями. Передача разделяемых ресурсов на клиент - неоправдано дорогая операция.
--------------------------------------------------------------------
*"блокировка регистра" не означает блокировку таблицы. Блокируются и изменяются только определенные записи.

>>Вы предлагаете на одну транзакцию делать несколько
>>вызовов сервера с клиента?

Это происходит в любом случае, если для успешного завершения транзакции необходимо получить информацию из БД непосредственно во время выполнения транзакции. "Забирать" весь контекст на клиента до выполнения транзакции и освобождать их по завершении транзакции нереально в некоторых случаях т.к. "длинные" транзакции могут противоречить задачам системы.

======================================================

У меня есть сомнения, что я правильно понял Ваш последний вопрос. В этом случае просьба - если хотите получить нормальный ответ, а не бред (с Вашей точки зрения) - задавайте вопрос в более развернутом и конкретном виде. У меня нет желания спорить из-за отсутствия словаря базовых определений или из-за неправильно понятого вопроса.
...
Рейтинг: 0 / 0
трехзвенная архитектура
    #33724356
Валентин КСсылок на системы не будет, потому что они настроены под конкретные предметные области, и в продаже не стоят.

Приношу извинения, если кого-то сильно задел, но прежде чем цитировать умные фразы нужно их понимать.
А трехзвенку я делал, но смысл промежуточного сервера - данные, а не сервер приложений, технологии MIDAS и CORBA.Прокомментируйте, пожалуйста:In case you haven't realized it, building computer systems is hard. As the complexity of the system gets greater, the task of building the software gets exponentially harder. ...At its worst business logic can be very complex. Rules and logic describe many different cases and slants of behavior, and it's this complexity that objects were designed to work with. A Domain Model creates a web of interconnected objects, where each object represents some meaningful individual, whether as large as a corporation or as small as a single line on an order form.
...
Рейтинг: 0 / 0
10 сообщений из 310, страница 13 из 13
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / трехзвенная архитектура
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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