Здравствуйте, VladD2, Вы писали:
Tom>>Мне Ромина позиция вообще не понятна если честно. Он же со всеми не согласен (c) VD>Киберак с Рома — это классические ОРМ-щики. Они в основном разговаривают о распределенных когерентных кэшах и ООП.
Ага.
VD>Их головы просто не настраиваются на разговор вне контекста объектов. Они так видят (с)
Мне ещё в последнее время интересны документно-ориентированные базы типа CouchDB. Что-то в них есть...
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Да фиг с ними, с темами форума. Что произойдет (на каждом из слоев приложения), если пользователь в качестве ID пришлет что-нибудь типа KV>
KV>?ID='||'6
KV>
KV>?
Ещё в Presentation будет облом, во время попытки сконвертировать '||'6 в число.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, kochetkov.vladimir, Вы писали:
A>>>Голословное утверждение. Каким образом чтение и последущий отсев данных улучшает безопасность по сравнению с запретом чтения? KV>>Зачем читать все, чтобы потом отсеять?
A>Ну как же, у тебя отсев ведь в BL, то есть после работы DAL
Нет. У меня ничего не мешает BL'у запросить у DAL'а изначально тот набор данных, на которые у текущего пользователя есть права, скажем просмотра
A>>>И как оно работает? KV>>Вполне. И мне страшно подумать, как решались бы вопросы масштабирования и плохих каналов (плохой == < 10Мбит), если бы в лотусе не было этой "особенности". С чем собственно мы и столкнулись в 1С, и из-за чего с нее, в итоге, и свалили.
A>Владимир, несчастье 1С постигло и меня. При некоторой сноровке его вполне можно реплицировать. На самом деле репликация SQL Server (впрочем как и доставка журналов) достаточно толерантна к приложениям.
Вот если бы еще и приложения были толерантны к репликации, им бы цены не было
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>Задача очень даже естественная, если кто-то зайдет и запостит педофильское порно, то такой пост сразу вытрут без всяки "мусорок". A>Зачем? Можно сделать спец-форум в который ни у кого не будет доступа.
Стереть проще будет.
G>>Мусорка в данном случае — искуственный костыль непонятно для чего. A>Мусорка это очень правильное решение. Из БД нельзя данные стирать.
Кто сказал?
Здравствуйте, Tom, Вы писали:
Tom>DML — я нет и не будет, и здаётся мне что задача написать такой провайдер сама по себе не простая. Tom>Ибо даже на сегодняшний день ни у одного комерчвеского linq решения она не реализована.
Задача вполне посильная. Только комерсантам это не надо. Пипл сегодня хавает heavy ORM. Что это такое в .NET мире пока мало кто знает, но раз говорят, значит должно быть круто. А DML, так это примитивщина какая! Фактически шаг назад в развитии человечества.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, kochetkov.vladimir, Вы писали:
A>>>Да, они в хранимках. KV>>Т.е. значительная часть событий безопасности, интересных с т.з. логирования происходит в хранимых процедурах? Каким образом тогда организовано журналирование таких событий?
A>Ты уточни о каких именно событиях говоришь, я тебе отвечу.
Попытки доступа пользователя к данным, на которые у него нет прав, например.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>Инфраструктурный сервис логикой не является? G>>Ведь его приходится самому писать, этот сервис БД не дает забесплатно.
A>Понимаешь, в протоколе HTTP тоже есть какая-то логика, но мы ведь не называем веб-сервис бизнес-логикой. Да, самому писать не приходится, я же БД генерирую, ты забыл
Да называть вообще можно что угодно, как угодно, суть от этого не меняется.
Бизнес-логика, сгенерировання автоматичиски не перестает быть таковой.
Здравствуйте, kochetkov.vladimir, Вы писали:
A>>Ну как же, у тебя отсев ведь в BL, то есть после работы DAL KV>Нет. У меня ничего не мешает BL'у запросить у DAL'а изначально тот набор данных, на которые у текущего пользователя есть права, скажем просмотра
Пример можно? А то слишком безпредметный разговор выходит.
Здравствуйте, gandjustas, Вы писали:
A>>Зачем? Можно сделать спец-форум в который ни у кого не будет доступа. G>Стереть проще будет.
A>>Мусорка это очень правильное решение. Из БД нельзя данные стирать. G>Кто сказал?
Из БД лучше ничего не стирать, потому что бизнес логика меняется и плохо если для новой логики нет старых данных. А ещё, хорошо, когда у тебя хранятся все версии данных, а не только последняя.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
A>>>Зачем? Можно сделать спец-форум в который ни у кого не будет доступа. G>>Стереть проще будет.
A>>>Мусорка это очень правильное решение. Из БД нельзя данные стирать. G>>Кто сказал?
A>Из БД лучше ничего не стирать, потому что бизнес логика меняется и плохо если для новой логики нет старых данных. А ещё, хорошо, когда у тебя хранятся все версии данных, а не только последняя.
Почему плохо когда для новой логики нест старых данных?
Прямо так все версии хранить надо?
Вообще говоря YAGNI и KISS работает и в базах данных
Здравствуйте, kochetkov.vladimir, Вы писали:
A>>Ты уточни о каких именно событиях говоришь, я тебе отвечу. KV>Попытки доступа пользователя к данным, на которые у него нет прав, например.
Такая проблема на практике не стоит, потому что если у оператора вообще нет доступа, даже на чтение, к клиенту А, то у него нет доступа к заказам клиента А, долгам клиента А и т.д. Как следствие "попытки доступа пользователя к данным, на которые у него нет прав" исполняются с вероятностью "Пользователь угадал GUID". Вот попыти выполнения запрещённых действий могут журналироваться, но это ловится выше DAL.
Здравствуйте, gandjustas, Вы писали:
G>Да называть вообще можно что угодно, как угодно, суть от этого не меняется. G>Бизнес-логика, сгенерировання автоматичиски не перестает быть таковой.
Это внешний по отношению к приложению сервис никак не связанный с осмыслением содержимого БД. Не понимаю, почему ты считаешь это бизнес-логикой приложения.
Здравствуйте, gandjustas, Вы писали:
G>Вместо присвоений можно использовать NewExpression или сделать fluent-интерфейс с последовательным вызовом методов set(p => p.field == value)
Мне new тоже больше импонирует.
Если нам не помогут, то мы тоже никого не пощадим.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>Да называть вообще можно что угодно, как угодно, суть от этого не меняется. G>>Бизнес-логика, сгенерировання автоматичиски не перестает быть таковой.
A>Это внешний по отношению к приложению сервис никак не связанный с осмыслением содержимого БД. Не понимаю, почему ты считаешь это бизнес-логикой приложения.
Любой код, который выполняет usecase приложения является бизнес логикой.
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, gandjustas, Вы писали:
G>>Почему плохо когда для новой логики нет старых данных? A>Она тогда не работает
У меня все работает, я наверное что-то не так делаю
Здравствуйте, gandjustas, Вы писали:
A>>Это внешний по отношению к приложению сервис никак не связанный с осмыслением содержимого БД. Не понимаю, почему ты считаешь это бизнес-логикой приложения. G>Любой код, который выполняет usecase приложения является бизнес логикой.
Является ли логика работы прав доступа NTFS частью бизнес-логики приложения работающего с файлами?