|
|
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerДопустим. И кому легче от того, что система будет взломана из-за ошибки архитектора? По крайней мере такую ошибку не очень сложно отловить еще на этапе проектирования. И она не имеет отношения к тому, будет ли третий слой, будет ли чистый БД, или терминальный доступ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 18:09 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
awhilerПо крайней мере такую ошибку не очень сложно отловить еще на этапе проектирования. В первую очередь стоит отметить, что человек, отвечающий за защиту в конкретной организации, часто не имеет возможности участвовать в этапе проектирования. Наоборот. Такую ошибку можно отловить только на готовой реализации, поскольку основная ее причина - контекст сессии; различного рода объекты, переживающие вызов бизнес-функции. Единственный путь заранее гарантировать себя от нее - не пользоваться контекстом вообще, то есть в каждом вызове бизнес-функции передавать информацию начиная от имени-пароля пользователя. Разумеется, с практической точки зрения маловероятна действительно опасная уязвимость подобного рода; скорее всего проблемы ограничатся мелкими шалостями в пределах прав пользователя. Но "совсем несуществующей" такую проблему тоже не назовешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2005, 20:36 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarer Единственный путь заранее гарантировать себя от нее - не пользоваться контекстом вообще, то есть в каждом вызове бизнес-функции передавать информацию начиная от имени-пароля пользователя. Да, полностью согласен. Так и надо делать. И никаких сессий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2005, 11:28 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
>awhiler >Да, полностью согласен. Так и надо делать. И никаких сессий. Нет, без построения сессии пожалуй не обойтись. Другой вопрос - какую информацию должен содержать блок данных сессии. С уважением, Владимир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2005, 00:50 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
Сорри - выложил схему под другим именем и не заметил. http://www.uncommon-logic.com/urry/3t/scheme2.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2005, 19:08 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
softwarerЕдинственный путь заранее гарантировать себя от нее - не пользоваться контекстом вообще, то есть в каждом вызове бизнес-функции передавать информацию начиная от имени-пароля пользователя. Это невозможно в некоторых случаях: например, когда операция включает в себя несколько атомарных операций в рамках одной транзакции. В этом случае нужно либо хранить контекст на клиенте целиком (включая все блокированые объекты), либо таки использовать контекст сессии на сервере (это всяко легче). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2005, 14:56 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
UrryMcAЭто невозможно в некоторых случаях: Согласен. А даже когда возможно - далеко не факт, что оправданно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2005, 13:11 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
UrryMcA например, когда операция включает в себя несколько атомарных операций в рамках одной транзакции. Не понял. Что значит "несколько атомарных операций в одной транзакции"? Транзакция на то и транзакция что она атомарна и неделима. Вы предлагаете на одну транзакцию делать несколько вызовов сервера с клиента? Зачем? Можно привести конкретный пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.12.2005, 13:32 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
Основная идея моего поста - "контекст сессии на сервере необходим в определенных случаях" >>Что значит "операция включает в себя несколько атомарных операций в < >>рамках одной транзакции"? >>Можно привести конкретный пример? Операция "Проведение документа расходная накладная". В рамках операции производятся следующие операции: блокировка регистра* остатков товара, блокировка регистра резервов, блокировка регистра взаиморасчетов. Расчеты учитывающие общее состояние учетной системы, конкретного клиента и пользователя проводящего документ. Все это выполняется в рамках одной транзакции. Т.о. существуют разделяемые ресурсы, которые должны быть зафиксированы между клиентскими сессиями. Передача разделяемых ресурсов на клиент - неоправдано дорогая операция. -------------------------------------------------------------------- *"блокировка регистра" не означает блокировку таблицы. Блокируются и изменяются только определенные записи. >>Вы предлагаете на одну транзакцию делать несколько >>вызовов сервера с клиента? Это происходит в любом случае, если для успешного завершения транзакции необходимо получить информацию из БД непосредственно во время выполнения транзакции. "Забирать" весь контекст на клиента до выполнения транзакции и освобождать их по завершении транзакции нереально в некоторых случаях т.к. "длинные" транзакции могут противоречить задачам системы. ====================================================== У меня есть сомнения, что я правильно понял Ваш последний вопрос. В этом случае просьба - если хотите получить нормальный ответ, а не бред (с Вашей точки зрения) - задавайте вопрос в более развернутом и конкретном виде. У меня нет желания спорить из-за отсутствия словаря базовых определений или из-за неправильно понятого вопроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.12.2005, 13:39 |
|
||
|
трехзвенная архитектура
|
|||
|---|---|---|---|
|
#18+
Валентин КСсылок на системы не будет, потому что они настроены под конкретные предметные области, и в продаже не стоят. Приношу извинения, если кого-то сильно задел, но прежде чем цитировать умные фразы нужно их понимать. А трехзвенку я делал, но смысл промежуточного сервера - данные, а не сервер приложений, технологии 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2006, 00:42 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33413618&tid=1545263]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 452ms |

| 0 / 0 |
