|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Вопрос 1. На данный момент ролей у меня 6 штук. Для каждой роли есть набор привилегий. У пользователя может быть не одна роль, а сразу несколько. Сами роли зашиты на сервере в enum и в БД хранятся имена enum констант. Привилегий в БД нет вообще. На данный момент привилегии я сделал на xml: Код: xml 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92.
К этому xml-ю есть код, который создает Map<RoleType, List<String>> , где коллекция строк это привилегии в строковом представлении. Есть ли какие-то другие варианты реализации данной части вопроса? Вопрос 2. Дополнительные поля роли. У некоторых ролей есть дополнительные сведения, которые есть, только если есть роль у пользователя. Поля так же описал в xml: Код: xml 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. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
В БД есть таблицу, которая связывает пользователя с ролью. И к этой таблице привязывается таблица, в которой находятся поля. Есть ли альтернативы? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 20:43 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
для чего роли и привелегии? нафига xml? есть база, делаешь запрос по юзеру - получаешь то к чему у. него есть доступ, и прочее ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 20:50 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop, а нужна такая гибкость вообще? Так сложно делают обычно когда роли/привилегии могут настраиваться динамически. А в случаях по-проще можно и хардкодить условия завязываясь на роли. В случаях чуть сложней можно в сами енумы добавлять поля: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Хотя твой вариант на самом деле тоже не супер сложным выглядит. А вот по поводу доп полей и как они к разграничению прав относятся - не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 21:13 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Tsyklop, а нужна такая гибкость вообще? Так сложно делают обычно когда роли/привилегии могут настраиваться динамически. А в случаях по-проще можно и хардкодить условия завязываясь на роли. В случаях чуть сложней можно в сами енумы добавлять поля: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Хотя твой вариант на самом деле тоже не супер сложным выглядит. А вот по поводу доп полей и как они к разграничению прав относятся - не понял. На самом деле задумался (еще после комментария вади) в необходимости привилегий как таковых. В будущем можно будет прикрутить, а сейчас это будет избыточно. Дополнительные поля и привилегии никак между собой не связаны. Это два разных вопроса. Возможно название ввело в заблуждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2021, 21:42 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Есть ли какие-то другие варианты реализации данной части вопроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 10:08 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Tsyklop Есть ли какие-то другие варианты реализации данной части вопроса? Что за либа? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 13:10 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop, Spring security ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 13:26 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Tsyklop, Spring security ? Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 20:18 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 22:03 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Roman Osipov , не, ACL - это про секюрити на объекты. Т.е. есть вполне конкретный курс в таблице курсов - вот на него хочу выдать права таким-то пользователям. А то что в первом посте у Tsyklop - это все-таки разрешения на выполнение функций в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2021, 22:33 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, На первый взгляд - ничего не мешает определить в качестве Domain Objects бины, реализующие DAO или сервисный слой. И строки в таблице и наши классы в приложении - суть ресурсы, к которым можно задать ACL доступ. Или не так понимаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 08:27 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например: Код: xml 1. 2. 3. 4. 5. 6. 7.
Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать. А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 09:22 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
самое главное нет ответа для чего роли и привилегии? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 10:02 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например: Код: xml 1. 2. 3. 4. 5. 6. 7.
Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать. А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет. В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 10:15 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop PetroNotC Sharp Tsyklop, Spring security ? Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю. Это значит что фильтруя урл, ты получаешь первый уровень по разрешениям. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 10:23 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, В веб обычно роли не от субд. Хибер ходит под одним логином ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 10:24 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp вадя, В веб обычно роли не от субд. Хибер ходит под одним логином ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 10:54 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя PetroNotC Sharp вадя, В веб обычно роли не от субд. Хибер ходит под одним логином В системах может быть разграничение пользователей по возможностям. Например Обычный юзверь, Манагер и Админ. На бэке есть список эндпоинтов. Но обычный пользователь не может делать то, что делает Админ и это нужно как-то контролировать. Контролируется ролями (в большей части приложений) и привилегиями (более гибкая штука. Зачастую используется в CRM системах (я так думаю), где те самые роли с привилегиями можно настраивать через БД, то бишь все хранится в бд.). Каждому пользователю в системе выдается роль или несколько ролей при помощи которых ведется контроль доступа к разным эндпоинтам на бэке. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 11:11 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Roman Osipov Stanislav Bashkyrtsev Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например: Код: xml 1. 2. 3. 4. 5. 6. 7.
Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать. А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет. В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить. Функционал с ролями, привилегиями не велосипед - это есть в секюрити. То что предлагаете Вы интересно, но для проекта избыточно. Хотя в нескольких моментах вижу применение. Спасибо за информацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 11:13 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop PetroNotC Sharp Tsyklop, Spring security ? Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю. В Spring DefaultSecurityFilterChain вы проверяете урл - это ресурс. И что с ним делаем по CRUD. Хранить роли можно где угодно. sql.ru/app/post/123456 delete or get or.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 11:47 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop, если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js. при создании страницы загружаются из базы разрешения - и вперед ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 12:09 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Roman Osipov Stanislav Bashkyrtsev Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например: Код: xml 1. 2. 3. 4. 5. 6. 7.
Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать. А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет. В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить. Но как ни крути - ACL решает совершенно другую проблему. Это логически работает не как роли - это совершенно другой подход и предназначен он для другого. Его просто не получится использовать для решения подобных задач. Разве что сами задачи поменять и реализовывать другие требования. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 12:56 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя Tsyklop, если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js. при создании страницы загружаются из базы разрешения - и вперед У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 13:03 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, Не прикидывайся. Вопрос выше как в коде писать роли. Не на jdbc же) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 13:06 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop вадя Tsyklop, если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js. при создании страницы загружаются из базы разрешения - и вперед У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI. При такой постановке знание фронту своей роли - ничего не даёт. Фронт полностью зависит от бэка и просто отрисовывает то что ему дали. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 13:09 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton, Нет. - в js свои контроллеры и своя БЛ. А бэк просто последний рубеж. Как FK в субд ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 13:13 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Tsyklop пропущено... У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI. При такой постановке знание фронту своей роли - ничего не даёт. Фронт полностью зависит от бэка и просто отрисовывает то что ему дали. Фронт должен знать, что для каких-то пользователей отрисовывать пункт(ы) меню, кнопки и т.д. не нужно. Как фронт может узнать это? Один из вариантов роль. Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 13:56 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
в общем нагородили на пустом месте кучу проблем себе и счас их решаем.... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 14:29 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя в общем нагородили на пустом месте кучу проблем себе и счас их решаем.... Скорее всего Вы не делали таких приложений, раз так говорите. Но могу ошибаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 15:38 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Скорее всего Вы не делали таких приложений, раз так говорите. Но могу ошибаться. Tsyklop Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 15:45 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
топик меньше пяти страниц - деньги на ветер ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 22:23 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop mayton пропущено... При такой постановке знание фронту своей роли - ничего не даёт. Фронт полностью зависит от бэка и просто отрисовывает то что ему дали. Фронт должен знать, что для каких-то пользователей отрисовывать пункт(ы) меню, кнопки и т.д. не нужно. Как фронт может узнать это? Один из вариантов роль. Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак. Что-то в этом не то. Какая-то натяжка. Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 22:40 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton , задача BE - обеспечить безопасность. Задача UI - показать те элементы, которые не будут создавать впечатление что у пользователя есть права хотя на самом деле их нет. Например, на этом форуме у админов наверняка есть возможность удалять посты. Было бы неправильно показать кнопку обычным пользователям - они бы получили ошибку если бы попробовали нажать на нее. Поэтому как BE, так и UI должны знать что пользователь может, а что не может. При этом код (HTML, JS, CSS) и основные данные для страницы (тема, пост, авторы) оба пользователя возможно получат одинаковые и эти данные никак не влияют на отрисовку. UI будет основывать решение рисовать или нет как раз на роли/привилегиях. Это все что пытается донести Tsyklop . ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2021, 23:22 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev, в браузере решается? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 05:45 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Поэтому как BE, так и UI должны знать что пользователь может, а что не может. Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать. При некоторых условиях это может быть вектором атаки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 09:48 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя , да. Можно еще конечно на BE генерить HTML страницы, но счас это редкость - последний проект на котором я такое видел был 8 лет назад.. mayton Stanislav Bashkyrtsev Поэтому как BE, так и UI должны знать что пользователь может, а что не может. Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать. При некоторых условиях это может быть вектором атаки. И атаки должны останавливаться на сервере. Отрисовка HTML за security никак не отвечает. Разве что речь про XSS, однако тут опять же - где бы мы не генерили страницу, об этом надо помнить. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 09:53 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя в браузере решается? Stanislav Bashkyrtsev вадя , да. я зайду в отладчик и задам доступ ко всему что захочу я зайду в отладчик и увижу всю структуру конечный юзер должен видеть только то , что ему разрешено не только на экране но и в коде. а это определяется при построении html страницы Stanislav Bashkyrtsev . Какая разница это на сервере или в браузере бы делалось? и опять таки - продвигают SSR - правда через одно место - сначала сгенерят охеренную строку. потом из этой строки сгенерят обыкновенную html строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 10:12 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev И атаки должны останавливаться на сервере. ведь уже сколько раз писали , что стоит только залезть в код и столько можно вытащить данных, целые таблицы. для нормального юзера - отображается только разрешённая ему часть, а в самом браузере - всё , что есть на сервере ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 10:16 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Видите друзья, какую мы интересную тему затронули. Фронт и безопаность. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 10:38 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя вадя в браузере решается? Stanislav Bashkyrtsev вадя , да. я зайду в отладчик и задам доступ ко всему что захочу я зайду в отладчик и увижу всю структуру Код: javascript 1.
или без прав Код: javascript 1.
где дыра? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 10:42 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Видите друзья, какую мы интересную тему затронули. Фронт и безопаность. Что там интересного-то? Есть поток данных, есть поток меты, все. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 10:54 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Еще есть поток мыслей от вади, и это создает интересные завихрения в обсуждениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:06 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Stanislav Bashkyrtsev Поэтому как BE, так и UI должны знать что пользователь может, а что не может. Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать. При некоторых условиях это может быть вектором атаки. Не надо параноить. Роли, логины, пароли ходят по сети в виде хешей или шифрованных строк токенов. Если шифр взломал, то получил админские права. Не о чем рассуждать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:08 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию о том что "здесь была кнопка". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:11 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:11 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии. И я с этим согласен. Есть принцип минимального знания и минимальной привилегии. Я - за соблюдение обоих. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:12 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию о том что "здесь была кнопка". Часто кнопки идут с маркером Скрыто. Что тебе даст кнопка скрытая "Перевести 1млн долларов" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:14 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp mayton Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию о том что "здесь была кнопка". Часто кнопки идут с маркером Скрыто. Что тебе даст кнопка скрытая "Перевести 1млн долларов" ? Хочешь поиграть с огнём? Начни шарить в фейсбуке скрины со своего банковского кабинета. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:23 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton, Чтобы получить страницу ты должен войти))). А если сбер узнал кто ты, то и прятать кнопку не особо нужно. Но все зависит от паранойи ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:37 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:39 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
(разводя руками) Я не буду больше спорить. Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ информации о привиелегированном пользователе. И всё. И мне очень странно ребята что вы вдруг решили поиграть в либерализм. Дескыть чего.. так.. пускай видит кнопку. Фреймворк-же! Ради бога. Это ваши цветочные магазины. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:40 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Я не буду больше спорить. Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ информации о привиелегированном пользователе. И всё. И мне очень странно ребята что вы вдруг решили поиграть в либерализм. Дескыть чего.. так.. пускай видит кнопку. Фреймворк-же! Ради бога. Это ваши цветочные магазины. am_sasa почему? вот, например json с правами Код: javascript 1.
или без прав Код: javascript 1.
где дыра? в браузере? и это что? по этому jason строится dom? а если я вставлю то что должно быть в скобках построится всё что было не нужно? и т.д. и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 11:59 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ информации о привиелегированном пользователе. ни о ом что есть привилегии, ни о том что ещё что-то существует, кроме того что показано. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:02 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton, Ваша хотелка "не давать ничего" зависит от денег. Я не максималист. Автор решает, заплатят ему или нет. Если фреймворк у него JS и приложение ОДНОГО ОКНА, то там все кнопки на клиенте)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:12 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, Максималисты блин) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:13 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Ваша хотелка "не давать ничего" зависит от денег. Я не максималист. Автор решает, заплатят ему или нет. Если фреймворк у него JS и приложение ОДНОГО ОКНА, то там все кнопки на клиенте)) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:20 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
На одном из курсов по инфо-безопасности нам рассказывали о том что злоумышленник обладает: - бесконечным временем для анализа вашего кода (фронтенда). Он никуда не спешит. Он курит. Он пьет чай. - бесконечными ресурсами (у него много физческих хостов для зондирования и атак). Он - (предположительно) бывший сотрудник. Он знает код изнутри. Он работал с вами. Он - разрабатывал это. (Это кстати легло в основу принципов Керхгофса). А у нас с вами дорогие мои друзья-либералы есть - ограниченное время чтоб разбирать инцедент инфо-безопасности и еще меньше времени чтоб его фиксить. Вот исходя из такой пессиместичной вводной я предлагаю и продолжить дискуссию. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:23 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Ваша хотелка "не давать ничего" зависит от денег. грамотно подойти к построению прав, распределению страниц. если на берегу договориться - всё просто. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:25 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, Ты сделай это на хибере а не на jdbc. Тогда можно обсудить. Я делал а ты нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:28 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton, вот из этих посылов я и исхожу при проектировании с самого начала. даже если конечный юзер знает о наличии других страниц и попытается их ввести в адресной строке - он переходит на сайты с девочками, правда сначала будет задержка в несколько минут.... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:29 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton, Современный веб это на клиенте все кнопки. После уяснения фразы обсуждать становится нечего. Не пишем велосипедов. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:30 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Ты сделай это на хибере а не на jdbc. зачем мне хибер, если я без него живу намного спокойнее... и возможностей больше ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:31 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Современный веб это на клиенте все кнопки. После уяснения фразы обсуждать становится нечего. Не пишем велосипедов. а потом читаем на хабре статьи как всё доступно ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:32 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Вадя, опыт есть? Tsyklop фронт на ReactJS ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:33 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, Я отсекаю все твои рассуждения по jdbc. Offop. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:35 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop фронт на ReactJS проще на нативном js. возможностей больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 12:58 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя в браузере? и это что? по этому jason строится dom? а если я вставлю то что должно быть в скобках построится всё что было не нужно? и т.д. и т.п. Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
для особо подозрительных скрипт про функции можно тоже загнать в json: Код: javascript 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 14:36 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
am_sasa, тут mayton жалуется на батарейки, а ты ему предлагаешь то, что их пожираешь из json строить html, чтоб потом этот html встроить в dom. когда можно сразу вставлять готовый html в dom..... да сразу получать готовый html.... Код: javascript 1.
после этого разговаривать не о чём..... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 14:44 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя после этого разговаривать не о чём..... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 14:48 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя Tsyklop фронт на ReactJS проще на нативном js. возможностей больше. Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:07 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя am_sasa, тут mayton жалуется на батарейки, а ты ему предлагаешь то, что их пожираешь из json строить html, чтоб потом этот html встроить в dom. когда можно сразу вставлять готовый html в dom..... да сразу получать готовый html.... Код: javascript 1.
после этого разговаривать не о чём..... Современные реалии таковы, что фронт и бэк разные приложения со своими приколами. Сейчас уже никто не делает на JSP или на других шаблонизаторах, как было раньше. Не делают большие приложения. Мелкие для себя - пожалуйста как угодно. У архитектуры, когда сервак отдает html, есть один интересный недостаток - на приложение под смартфоны тоже html отдавать будете? а на другой, какой либо клиент тоже html будете отдавать? Такой подход уже устарел. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:11 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Самое интересное что люди говорят про безопасность в подходе, когда фронт в себе уже хранит, только отрисовывает по условиям. По вашей логике, все кто использует такой подход дураки? и те проекты, которые так написаны, можно легко ломануть? ломать можно - не спорю. Но это не так легко. Вообще не понял в чем проблемы с безопасностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:14 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
am_sasa а про готовый HTML тебе уже Петро сказал, сейчас так никто не делает Tsyklop Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:24 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Современные реалии таковы, что фронт и бэк разные приложения со своими приколами. Tsyklop У архитектуры, когда сервак отдает html, есть один интересный недостаток - на приложение под смартфоны тоже html отдавать будете? Tsyklop ломать можно - не спорю. Но это не так легко. Tsyklop Вообще не понял в чем проблемы с безопасностью. Tsyklop Такой подход уже устарел. чем отличается json от html? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:35 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Такой подход уже устарел. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 17:51 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, на фронте есть SSR, в чем проблема? изучайте вопрос. Все (99%) фронтовые либы(ReactJS и т.п.)/фреймворки(Angular и т.п.) поддерживают SSR. В чем проблема?. Приложения на смартфонах не на html-е работают. Для справки. Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем. + https и вообще шикарно. Если говорить о браузере, то далеко не все сайты можно адаптировать под телефон. Но я ведь говорил не про сайт, а про приложение, которое ставите из магазина приложений. Это вообще-то разные вещи. То бишь по Вашему все разработчики дураки? которые на json-е сделали или как? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 18:32 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем. Кода куча везде, особенно у древнего и неповортливого JSP. Вообще не вижу проблем с JSON-ом. Опять же. По вашему все кто использует json идиоты? так получается? (это 95% всего что сейчас делают, я так думаю) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 18:34 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя Tsyklop Такой подход уже устарел. Это же где? почему люди отказываются от "передового" и переходят на более современное? сейчас куда не плюнь везде REST и фронт отдельно. Если сидеть на проекте(ах) которому(ым) 100500 лет, то конечно будете так рассуждать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 18:36 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop на фронте есть SSR, в чем проблема? так всё-таки веб или что-то другое? Tsyklop особенно у древнего и неповортливого JSP Tsyklop Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем Tsyklop По вашему все кто использует json идиоты ещё раз чем отличается json от html? для серверной части - абсолютно ничем - и то и другое строка. для браузера - json дополнительная работа. используете SSR - как минимум 3-разовая нагрузка на сервер, строится json, парсится json, строится html. и после этого про неповоротливый jsp? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 20:20 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя это у вас? т.е. все-таки клиенту идёт html, так всё-таки веб или что-то другое? Tsyklop особенно у древнего и неповортливого JSP Tsyklop Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем Tsyklop По вашему все кто использует json идиоты ещё раз чем отличается json от html? для серверной части - абсолютно ничем - и то и другое строка. для браузера - json дополнительная работа. используете SSR - как минимум 3-разовая нагрузка на сервер, строится json, парсится json, строится html. и после этого про неповоротливый jsp? Я не использовал SSR еще. не было необходимости. JSON тот же прикиьте. JSON он один для фронта, для приложения. Для чего угодно. Данные передаются в одном формате. Почитайте про REST. Может хоть так поможет. Для браузера все дополнительная работа, кроме чистого html без всяких примесей. Даже стили и js это доп работа. А json грузится потом в js-е. Проблемы в этом воооообще не вижу. 99% сайтов так сейчас работают (функциональных сайтов) и нормально живут. Но только Вы почему-то говорите что это хрень все. Почему - загадка. Не вижу смысла дальше вести эту дискуссию. У каждого своё мнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 21:05 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Даже стили и js это доп работа. Tsyklop 99% сайтов так сейчас работают (функциональных сайтов) и нормально живут. Tsyklop JSON тот же прикиьте. JSON он один для фронта, для приложения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 21:26 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
вадя, Че вы спорите. Ты против ОРМ и РЕСТ. Ты за JDBC. Это совершенно разные проекты. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 21:30 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Tsyklop Но только Вы почему-то говорите что это хрень все. Почему - загадка. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 21:30 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev потом оказалось что вадя - не программист нокогда узнали, что эти шаблонизаторы используют в нутрях те же стрингбилдеры, да ещё и в неоптимальном применении как-то притихли. одно время пытались доказать что хибер позволяет запросто сменить субд, но как-то приутихли. когда поняли, что это не так. когда-то смеялись что я рекламирую ws- теперь его много где используют. я говорил, что в браузе лучше передавать готовую html - счас рекомендуют SSR, т.е. передавать готовую html....(правда с лишними затратами на сервере, но даже это считается намного лучше чем рендерить на клиенте) так что это ещё вопрос кто программист. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 21:41 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev Tsyklop Но только Вы почему-то говорите что это хрень все. Почему - загадка. Выше все посты про технологии. А ты скатился до личностей. Бескультурье. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 22:34 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию о том что "здесь была кнопка". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 13:30 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev выглядеть как DELETE /post/{id} . Поэтому фраза что AJAX победил сабмит (основу интернет) не верна. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 13:47 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
Stanislav Bashkyrtsev mayton Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию о том что "здесь была кнопка". Станислав. Ты - фуллстек специалист. Я - больше по серверной части. И я не знаю как у вас принято разрабатывать. Я всего лишь хотел сказать что никакие части системы безопасности не должны "утекать" на фронт. Как там хакер будет долбить... через AJAX, Curl, Python или еще бох знает какие утилиты - неважно. Пускай долбит. Просто не надо ему предоставлять больше знаний чем для отображения текущего экрана пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 17:51 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton Я всего лишь хотел сказать что никакие части системы безопасности не должны "утекать" на фронт. Как там хакер будет долбить... через AJAX, Curl, Python или еще бох знает какие утилиты - неважно. Пускай долбит. Просто не надо ему предоставлять больше знаний чем для отображения текущего экрана пользователя. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 17:55 |
|
Реализация привилегий и дополнительных полей роли
|
|||
---|---|---|---|
#18+
mayton текущего экрана пользователя. Наш новый стас видит в этом только AJAX, следовательно видит только "приложения одного окна" см. Вики. Но тогда у таких приложений нет текущего экрана)) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2021, 18:04 |
|
|
start [/forum/topic.php?all=1&fid=59&tid=2120322]: |
0ms |
get settings: |
24ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
1434ms |
get tp. blocked users: |
2ms |
others: | 2515ms |
total: | 4052ms |
0 / 0 |