Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
-1 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 17

Механизмы безопасности (и правила хорошего тона)

06.10.2017, 08:27. Показов 851. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день Уважаемые!

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

Так случилось что с java был знаком давно, и когда-то активно использовал ее в личных не корыстных целях, в основном учебных, так-как был студентом, и в большей степени в desktop'ном варианте. Тогда было время jdk 1.2 (или 1.4), и так случилось, что ввиду отсутствия практического применения интерес к ней постепенно угас.

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

В перспективе нужно натянуть Web-морду на некую БД, и представить все это в виде подобия CRM, да еще и спроектировать все так, чтоб это в перспективе могло поддерживаться и развиваться другими людьми (который уже героически заслужили артрит пальцев рук).
После беглого осмотра многочисленных технологий - было принято решений идти путем самурая, т.к. Spring,Hiber и прочие представители заоблачных уровней программирования выглядят как трактор для муравья - решил остановиться на связке Wiket+MyBatis, благо с SQL уже очень неплохо знаком.

Однако постоянно присутствует ощущение того, что уже кручу педали изобретаемого велосипеда.

Во-первых, мне все же ближе методы раннего связывания, но беглый взгляд на рефлексию показывает, что поля типа
Java
1
private String usrPwd
уже не такие и приватные,
а придуманный сходу контроль доступа на основе Exception может получится громоздким(да и вообще google не подтвердил, что кто-то так делает).

Отсюда первый вопрос - как грамотные люди, обремененные опытом, реализуют контроль уровня доступа к объектам, не прибегая к помощи SpringSecurity и т.п., а может вообще стоит взглянуть на родные механизмы Java(которые как мне показалось плохо известны даже спецам из Oracle) или же никто уже не пешком не ходит - все любят летать.

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

P.S. вообще сложилось впечатление, что целовать (принцип KISS) в мире JAVA принято теперь либо в лоб либо, простите, в попу.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.10.2017, 08:27
Ответы с готовыми решениями:

Правила хорошего тона?
У меня есть много окон. Экземпляры моделей для них я храню в самом App. Пример: public partial class App : Application { public...

Правила хорошего тона в программировании в VB (+++)
Господа программисты, давайте обсудим правила хорошего тона программирование в VB. Например у меня есть такой вопрос, я часто ипользую...

Правила хорошего тона (грамотный код)
Вопросы хорошего тона, грамотности и красоты кода. Лечение быдлокода. Лично у меня пока что вопросы теоретического плана: - передача...

8
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
06.10.2017, 10:18
Цитата Сообщение от Intervent Посмотреть сообщение
контроль доступа на основе Exception
???
Цитата Сообщение от Intervent Посмотреть сообщение
реализуют контроль уровня доступа к объектам, не прибегая к помощи SpringSecurity
Уровень доступа в какой плоскости? В плоскости использования написаных Вами библиотек другими программистами, или доступа пользователя к определенным сегментам системы?

Выражайте свои мысли коротко и по делу, Вас трудно читать. До 11й строки читать вообще нет смысла, а после нее 50 на 50.
0
-1 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 17
06.10.2017, 11:21  [ТС]
Заранее извинился за многословность, думал, что это даст представление об уровне квалификации.

Речь идет о доступе к сегментам системы.

Идея в том, что методы которым требуются некие права вызывают нечто вроде
Java
1
currentUser.checkUserRight("какое-то там право")
, а он в свою очередь выбрасывает что-то вроде
Java
1
public class UserRightExcention extends Throwable {}
которые либо обрабатываются прям на месте или летят выше

Вопрос в том оправдана ли эта схема, или есть готовый механизм (по возможности без SpringSecurity)

Google пока предлагает старые статьи на подобии этой https://habrahabr.ru/post/95920/ - на мой взгляд то-же самое но через рефлексию
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
06.10.2017, 11:42
Все зависит от логики работы, можно бросать ексепшены, можно возвращать статус коды.

Ексепшен требует больших затрат по сравнению со статус кодами, если система работает под нагрузкой то на это следует обратить внимание.

Если вы отбрасываете Spring Security по причине сложности, то работа с аспектами врядли покажется проще.

Если вы задействуете Spring в своем проекте то использование Spring Security вполне логичный вариант, он обеспечивает
тот функционал о котором Вы спрашиваете.
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.10.2017, 13:01
Цитата Сообщение от Intervent Посмотреть сообщение
решил остановиться на связке Wiket+MyBatis
Цитата Сообщение от Intervent Посмотреть сообщение
как грамотные люди, обремененные опытом, реализуют контроль уровня доступа к объектам, не прибегая к помощи SpringSecurity
вы сами себе создаете проблемы. Проекты подобного рода что нужен вам, создаются на Spring Boot за пару часов.
https://www.cyberforum.ru/java... 31084.html вот стартер такого проекта например.
1
-1 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 17
06.10.2017, 13:30  [ТС]
Спасибо за ответ, наличие Spring в проекте не предполагается.

Изначально смотрел в сторону связки Spring+Hibernate, но понял, что на сколько-нибудь вменяемое изучение технологий уйдет времени больше чем на сам проект при текущем уровне знаний.

Насколько понял, основные затраты Exception связаны с формированием Stack trace. Однако это, по всей вероятности, можно обойти .

Буду разбираться дальше...
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
06.10.2017, 13:42
Цитата Сообщение от Intervent Посмотреть сообщение
Насколько понял, основные затраты Exception связаны с формированием Stack trace.
вам это должно быть абсолютно неважно. Шанс что вы в ближайшие 10 лет будете писать систему, у которой проблемой производительности будет формирование stack trace, с огромной скоростью стремится к нулю.

Hibernate вам никто не предлагает использовать в чистом виде. Свои велосипеды вы будите писать гораздо дольше чем понять что вам нужно на базовом уровне со spring boot.
1
-1 / 0 / 0
Регистрация: 23.09.2011
Сообщений: 17
06.10.2017, 14:13  [ТС]
Spring boot, я смотрел, и это просто восхитительно, что для фреймворка в котором черт ногу сломит создали очередную надстройку, такими темпами скоро появится нечто вроде Simple String Boot))

На самом деле если бы я пророчил себе длительную карьеру JAVA разработчика и предполагал работу с тяжелыми проектами, то конечно начал бы разбираться со всей этой Весенней галимотьей, тут Spring boot был просто отличным началом.

А если нужно бы было очень быстро что-то сделать, то вообще обратил бы внимание на платформу Cuba. (может кстати так и поступлю).

Мое же положение где-то посередине, и вдобавок сильно раздражает использование технологий о механизмах работы которых я имею весьма отдаленное представление, которое скорее всего таким и останется. А вот опыт работы с MyBatis и Wicket - может пригодится(умирать эти фреймы вроде не собираются)
0
149 / 162 / 48
Регистрация: 19.10.2012
Сообщений: 530
06.10.2017, 16:25
Если Вы хотите делать что то боевое с первого раза, особо не вникая в технологии, то это явно не про джаву.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.10.2017, 16:25
Помогаю со студенческими работами здесь

Плагины и правила хорошего тона программирования
Доброе время суток! Пишу достаточно большую программу на C#.NET 3.5 Все пока получается но есть пара вопросов: 1) Все функции...

Оптимизация кода и правила хорошего тона
Доброе утро! Изучаю php и сразу пытаюсь делать все грамотно и не плодить лишнего. Так вот подскажите как можно упростить мой код и какие...

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

Правила хорошего тона при инициализации компонентов
Допустим есть форма и я хочу выполнить некоторые действия над группой компонентов в отдельном методе. Как правильнее: Передавать...

Правила хорошего тона при объединении php и html кода
Здравствуйте. Насколько мне известно, есть возможность встраивания в html страницу php кода, и наоборот в php страницу html разметку. Что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru