powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security имеет неверную архитектуру
25 сообщений из 172, страница 4 из 7
Spring Security имеет неверную архитектуру
    #39960087
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Классное слово. Похоже от "распиливать" ?
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960139
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Надо показывать все существующие опции в теории доступные юзеру в его иерархии step up авторизаций.
Даже если он не является кем-то, кто имеет доступ до этих опций.


Basil A. Sidorov
"Да за это убивать надо!" (ц) судья из анекдота про преферансиста.
+100500
это раскрытие всей структуры всем, даже тем кому и знать не положено/запрещено.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960144
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Lelouch
dakeiras,

Это ни разу не решение. Скидка считается применённой после формирования заказа, а не просто от нажатия кнопки на фронте.
То есть условный вызов выглядит примерно так:
POST /order { ..., discount: true, ... }
Кстати, заказ может быть отменён после формирования. Ваш maxUsage от этого тоже обратно не увеличится.

Итого пока что ваше решение позволяет только защищать ресурсы и для реализации более менее простой логики вне этого сценария не расширяемо.

P.S. Ваш подход теоретически возможен, но потребует передачи идентификатора заказа в url и сессии на be.


В данном случае количество скидок - конечный ресурс. Поэтому его надо располагать на стороне ресурсного сервера, а не в авторизационном сервере. Доступ к ресурсам даётся по идентичности, но наличие ресурсов контролируется в ресурсном сервере - что логично.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
{
      "name" : "managerAuthorization",
      "identities" : [ {
        "name" : "manager",
        "authentications" : [ {
          "name" : "kerberos"
        }, {
          "name" : "managerGroupMember"
        }, {
          "name" : "discountDailyLimitCounter"
        } ]
      } ],
      "scopes" : [ {
        "name" : "managerScope",
        "grants" : [ {
          "urlRegex" : "https:\\/\\/resourceserver\\.com\\/contentroot\\/secured\\/order\\?discount=true",
          "bodyRegex" : null,
          "httpMethod" : "POST"
        } ]
      } ],
      "durationSeconds" : 1800,
      "maxUsageCount" : 1,
      "prerequisites" : [ ],
      "refresh" : null
}



авторКстати, заказ может быть отменён после формирования. Ваш maxUsage от этого тоже обратно не увеличится.

Это уже есть в плане на доработку, для неиспользованных expired авторизаций вызывать откат аутентификаций.
Пока только начинаю продумывать как это сделать правильно концептуально.

Это классический пример счётчиков\лимитов\доступного остатка\баланса. Это то для чего в первую очередь эта система создавалась - чтобы гарантировать отработку функционального API при валидной авторизации.

1) каким образом ресурсный сервис узнаёт роль пользователя, если ваша система ее не предоставляет. И в том числе не предоставляет api для ее получения?
2) то есть вы наконец признаёте, что «защитить» что-либо кроме «ресурсов» ваша система не может. И в сложную логику тоже не может. Из чего вытекает не «защитите своё приложение легко и бесплатно без регистрации и смс» а «слелайте так, чтобы обойти ограничения моего решения и может быть будет вам счастье (только не забудьте закинуть денег)»
3) сравнения с keycloak ждать?
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960146
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, хотелось бы уточнить - в вашей реальности есть какой-то «офицер безопасности» который одновременно знает все урлы в приложении и умеет в регулярки. Мне интересно, в каком месте можно вообще найти человека с должностью «офицер безопасности»? Банки? Других задач и клиентов в природе нет?
Это намёк на то, что большинство клиентов хотят или все в одном, или интеграцию с чем-то стандартным и распространённым, например AD.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960155
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
dakeiras
Надо показывать все существующие опции в теории доступные юзеру в его иерархии step up авторизаций.
Даже если он не является кем-то, кто имеет доступ до этих опций.


Basil A. Sidorov
"Да за это убивать надо!" (ц) судья из анекдота про преферансиста.
+100500
это раскрытие всей структуры всем, даже тем кому и знать не положено/запрещено.

Зачем структуру то?

Просто балете в шапке ссылки:
/manager
/seniorManager

И т.д.

При нажатии проверяется доступ к этому функционалу. Если нет - не пускает и всё.

А делать кашу в общей вьюшке меняющуюся и скачущую - вот за это надо убивать.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960164
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Классное слово. Похоже от "распиливать" ?

Transpiler никогда не слышали? Babel там?
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960166
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
Кстати, хотелось бы уточнить - в вашей реальности есть какой-то «офицер безопасности» который одновременно знает все урлы в приложении и умеет в регулярки. Мне интересно, в каком месте можно вообще найти человека с должностью «офицер безопасности»? Банки? Других задач и клиентов в природе нет?
Это намёк на то, что большинство клиентов хотят или все в одном, или интеграцию с чем-то стандартным и распространённым, например AD.


Да что там знать то, при нормально спроектированном API всё что требуется:

- User:
\/secured\/user\/%username\/.*

- Admin:
\/secured\/admin\/%adminname%\/.*

автор1) каким образом ресурсный сервис узнаёт роль пользователя, если ваша система ее не предоставляет. И в том числе не предоставляет api для ее получения?
2) то есть вы наконец признаёте, что «защитить» что-либо кроме «ресурсов» ваша система не может. И в сложную логику тоже не может. Из чего вытекает не «защитите своё приложение легко и бесплатно без регистрации и смс» а «слелайте так, чтобы обойти ограничения моего решения и может быть будет вам счастье (только не забудьте закинуть денег)»
3) сравнения с keycloak ждать?
Конечно признаю, я этого не отрицал а наоборот подчёркивал.
Система для контроля доступа к веб ресурсам (HTTP->REST, SOAP, HTML (?)).
Она простая как топор сама по себе.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960173
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. аналогия следующая: охранник (security) пускает вас в банковское хранилище, но он не знает сколько у вас на счету денег.
Это знает бухгалтер, который выдаст вам деньги уже в хранилище.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960186
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Раз вы работали на мейнфрейме
AS/400 - ни разу не мейнфрейм. Это миникомпьютер, в тогдашней терминологии.
Ну и кобола я не знаю. Не помню даже - был ли он в нашей системе. Даже RPG/400 не знаю, хотя он - точно был.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960188
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
Раз вы работали на мейнфрейме
AS/400 - ни разу не мейнфрейм. Это миникомпьютер, в тогдашней терминологии.
Ну и кобола я не знаю. Не помню даже - был ли он в нашей системе. Даже RPG/400 не знаю, хотя он - точно был.

Да, почитал, это не мейнфрейм, другой тип компьютера. Кобол в нём кстати тоже поддерживался.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960189
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Кобол в нём кстати тоже поддерживался.
Я в курсе, что поддерживался, но не помню, был ли он у нас.
С другой стороны, примерно в это время, разработчики OS/400 мигрировали встроенную базу данных с "нативного" API на SQL, как основной язык манипуляции данными.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960221
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
Классное слово. Похоже от "распиливать" ?

Transpiler никогда не слышали? Babel там?

Бабель? Читал Одесские рассказы Бабеля.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960404
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

dakeirasДа что там знать то, при нормально спроектированном API всё что требуется:

- User:
\/secured\/user\/%username\/.*

- Admin:
\/secured\/admin\/%adminname%\/.*



Сравнения с keycloak то ждать или нет?:) Или понимайте, что там без шансов?)

dakeirasОхранник (security) пускает вас в банковское хранилище, но он не знает сколько у вас на счету денег.
Это знает бухгалтер, который выдаст вам деньги уже в хранилище.

Только в случае вашего "решения" охранник слишком туп, чтобы сообщить что на входе вип-клиент, к которому надо позвать старшего бухгалтера. (Ваше решение не позволяет получить роль пользователя, бред про передачу этого параметру в URL оставьте при себе. Это все равно что охранник на входе спрашивает "вы вип-клиент?")

Кстати, тупой вопрос - как в вашем решении вообще корректно перенаправить пользователя после входа на "правильный" url (пусть будет ваш любимый /user или /admin) ?:)
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960445
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСравнения с keycloak то ждать или нет?:) Или понимайте, что там без шансов?)
оно очень похоже. ОЧЕНЬ похоже.

Но у меня более продуманно.

Собственно оно подтверждает полностью всё написанное мной в этом топике насчёт концепции веб безопасности и как её осуществлять. И правильность моего дизайна.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960447
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКстати, тупой вопрос - как в вашем решении вообще корректно перенаправить пользователя после входа на "правильный" url (пусть будет ваш любимый /user или /admin) ?:)
Это REST URLы.

Веб сайты с ГУЁм будут отдельные:

https://mycoolsystem.com

https://admin.mycoolsystem.com или https://mycoolsystem.com/admin (без автоматической переадресации и без доступа к юзерскому бизнес функционалу)
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960456
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И пара абстрактных моментов:
- keycloak и ascend одновременно примерно начали делать в ~2016
- keycloak делает вроде redhat, по идее нормальная организация - поэтому вроде неплохо у них получилось
- OAuth2, IETF/RFC - это шизофазийный лингвистический ужас.
- Всё это вместе (Okta, Keycloak, Auth0, etc) разрозненно, плохо кореллируется с Spring Security и OAuth2 и Openidconnect.
В результате возникает каша.

Я о keycloak узнал только от вас. Хотя темой занимаюсь с 2016 года, по мере своих сил делал исследования решений.
Надо сказать отдельное спасибо stackoverflow который засрал выборки в поисковиках.

Вы считаете индусы осилят это всё? Или они осилят RFC? А кто должен кодить тогда за копейки?

Если это такой хороший формат, почему он не общепринятый? (а если он общепринятый, где об этом инфа везде?)

Это кризис веб безопасности. REST существует уже 15 лет. А безопасность до сих пор не стандартизированна на инфраструктурном уровне. Где RESTS (REST Secured), я вас спрашиваю?

Какова стоимость внедрения и поддержки этих решений? Каковы риски уязвимостей из-за неправильной настройки и не полноценной модели безопасности?

И вишенка на торте: 99% людей уверены что всё заебись и всё чётко, надо лишь зайти на stackoverflow - там за 5 минут будет рецепт как сделать безопасность :)
Индусы свято верят в то что Спринг умеет вообще всё на свете.

Страшно подумать сколько уязвимостей на этом уровне существует. Хакеры просто пока не дошли до этих атак.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960465
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PS: только безопасникам это не говорите, пусть будут блаженны в своём неведении.

Ну и кому организации должны доверять веб безопасность? Чтобы философски осмыслить всё это, требуется годы.
Вы посадите человека реального эксперта по Яве, думаете он будет вникать в тонкости создания модели безопасности?
Любой человек поскорее накидает что-то в настройках, лишь бы QA прошло, и всё. И спит спокойно.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Страшно подумать сколько уязвимостей на этом уровне существует. Хакеры просто пока не дошли до этих атак.

Ну расскажи хотя-бы об одной атаке.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960506
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
авторСравнения с keycloak то ждать или нет?:) Или понимайте, что там без шансов?)

оно очень похоже. ОЧЕНЬ похоже.

Но у меня более продуманно.


Шикарно. В чем же?

dakeirasREST существует уже 15 лет.
IP существует уже 39 лет! Где IP-secured я вас спрашиваю (LOL).
Кстати, REST - не протокол:)

dakeirasВсё это вместе (Okta, Keycloak, Auth0, etc) разрозненно, плохо кореллируется с Spring Security и OAuth2 и Openidconnect.
В случае Keycloak интеграция на уровне "добавьте зависимость и заведется" (в том числе и со Spring Security).

dakeirasХотя темой занимаюсь с 2016 года, по мере своих сил делал исследования решений.
Странно, я его за 10 минут год назад нашел...

dakeiraskeycloak и ascend одновременно примерно начали делать в ~2016
То есть за 4 года вы написали решение, которое умеет только защиту по URL. Объем кода за 4 года составил 126 файлов.
По 41,5 файлу в год. Вы в теме бобина заливали что груви позволяет "быстро разрабатывать". Что-то не похоже)


dakeirasЭто REST URLы.

Веб сайты с ГУЁм будут отдельные:

https://mycoolsystem.com

https://admin.mycoolsystem.com или https://mycoolsystem.com/admin (без автоматической переадресации и без доступа к юзерскому бизнес функционалу)


То есть если у меня пара десятков функциональных ролей я должен 20 интерфейсов нарисовать? И единую точку входа ваше "решение" тоже не умеет - необходимо изначально зайти на корректный сайт.

Спасибо, хоть рассмешили:) Серьезно воспринимать это я больше не могу. Особенно после заявления о том, что keycloak не продуман, в отличии от вашего шедевра, который без спринга и чихнуть не может, в том числе на клиенте.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960539
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТо есть если у меня пара десятков функциональных ролей я должен 20 интерфейсов нарисовать?
Да. При этом это хорошая практика.
Видите, Ascend вас заставляет следовать конвенции правильной.

Но конечно 20 маппингов не надо делать. Делаете такой просто:

Код: java
1.
2.
@GetMapping("/{userRole}/{user}/documents")
Document getDocuments(...) {...}



Т.е. предиката безопасности должна присутствовать на ифраструктурном уровне (на транспортном уровне - в URL).
Это именно то как задумывался изначально REST, и я вам более того скажу - это было специально изначально заложено в HTTP его создателями.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960604
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

Кстати, keycloak был выпущен в 2014 году, а не "начал разрабатываться" в 2016. Видимо с поиском у вас не задалось от слова совсем.

dakeirasДа. При этом это хорошая практика.
Видите, Ascend вас заставляет следовать конвенции правильной.

Пока эта "конвенция" правильна только с ваших слов. Можно ссылки на что-то поавторитетнее?
И пожалуйста - не в теме разделения "пользователь/администратор", а именно для ролей типа менеджер/старший менеджер.

dakeiras@GetMapping("/{userRole}/{user}/documents")
А если у пользователя несколько ролей? В том числе зависящих, откуда он в систему заходит? (Да, такое бывает, в одном филиале ты менеджер, в другом - старший менеджер. Где находится АРМ в который входит пользователь - известно).
Хотя о чем я спрашиваю, вы опять будете что-то веселое рассказывать вместо ответов.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960634
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКстати, keycloak был выпущен в 2014 году
Это они пусть не лечат. Может где-то в недрах Red Hat (который платный вполне себе).

авторПока эта "конвенция" правильна только с ваших слов. Можно ссылки на что-то поавторитетнее?
Нету. Но согласитесь конвенция правильная?

авторА если у пользователя несколько ролей? В том числе зависящих, откуда он в систему заходит? (Да, такое бывает, в одном филиале ты менеджер, в другом - старший менеджер. Где находится АРМ в который входит пользователь - известно).
Хотя о чем я спрашиваю, вы опять будете что-то веселое рассказывать вместо ответов.
Основной юскейс Ascend - единственная роль пользователя + Step Up (многоуровневый: T&Cs + Privacy Policy + Login +SMS OTP + ...)

То о чём Вы говорите - наверное лучше какие-то другие решения использовать (возможно тот же Spring Security). Я никогда не говорил что Ascend универсален в чистом виде.

Всё что я говорил - что Spring Security для наиболее частого юскейса веб приложений и мобильных приложений - неправилен.
Keycloak только подтвердил это.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960636
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наверное Вы хотите сказать:

Веб безопасность: Keycloak
+ одновременно
Функциональный доступ: Spring Security

Наверное соглашусь.

Ascend здесь альтернатива Keycloak.
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960650
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я по прежнему жду презнетацию по Робину-Бобину и по твоей супер-секюрной системе
которая порвет Spring Security методы как Тузик грелку.

Должок....
...
Рейтинг: 0 / 0
Spring Security имеет неверную архитектуру
    #39960655
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeirasЭто они пусть не лечат. Может где-то в недрах Red Hat (который платный вполне себе).

keycloak git log --reversecommit 1586f461bef88721a42e866dcbd8a4e8abbf9ce0
Author: Bill Burke <bburke@redhat.com>;
Date: Fri Jul 5 14:23:16 2013 -0400


dakeirasНету. Но согласитесь конвенция правильная?
Бредовая конвенция на мой вкус.
dakeirasВсё что я говорил - что Spring Security для наиболее частого юскейса веб приложений и мобильных приложений - неправилен.
Keycloak только подтвердил это.
Что именно keycloak и каким образом подтвердил? Имея в виду, что он тоже умеет "защиту ресурсов по url", просто помимо этого предоставляет, например, API для получения данных о пользователе?
...
Рейтинг: 0 / 0
25 сообщений из 172, страница 4 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Security имеет неверную архитектуру
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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