powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация привилегий и дополнительных полей роли
90 сообщений из 90, показаны все 4 страниц
Реализация привилегий и дополнительных полей роли
    #40107155
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос 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 version="1.0" encoding="UTF-8"?>
<RolePrivileges>

    <USER>
        <Privilege>
            <value>USER_PROFILE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
                <modes>CREATE</modes>
                <modes>UPDATE</modes>
                <modes>DELETE</modes>
            </modes>
        </Privilege>
    </USER>

    <MANAGER>
        <Privilege>
            <value>MANAGE</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_USER</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
                <modes>CREATE</modes>
                <modes>UPDATE</modes>
            </modes>
        </Privilege>
        <Privilege>
            <value>MANAGE_GROUP</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
        <Privilege>
            <value>MANAGE_COURSE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
        <Privilege>
            <value>MANAGE_DISCIPLINE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
        <Privilege>
            <value>MANAGE_SHOP</value>
            <modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
        <Privilege>
            <value>MANAGE_SHOP_ITEM</value>
            <modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
    </MANAGER>

    <ADMIN>
        <Privilege>
            <value>MANAGE</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_USER</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_GROUP</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_COURSE</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_DISCIPLINE</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_SHOP</value>
        </Privilege>
        <Privilege>
            <value>MANAGE_SHOP_ITEM</value>
            <modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>
    </ADMIN>

</RolePrivileges>



К этому 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.
<?xml version="1.0" encoding="UTF-8"?>
<RoleFields>

    <USER>

    </USER>

    <TEACHER>
        <UserRoleField>
            <name>placeOfWork</name>
            <i18nKey>role.field.teacher.place-of-work</i18nKey>
            <type>TEXT</type>
        </UserRoleField>
        <UserRoleField>
            <name>position</name>
            <i18nKey>role.field.teacher.position</i18nKey>
            <type>TEXT</type>
        </UserRoleField>
        <UserRoleField>
            <name>experience</name>
            <i18nKey>role.field.teacher.experience</i18nKey>
            <type>LONG_TEXT</type>
        </UserRoleField>
        <UserRoleField>
            <name>about</name>
            <i18nKey>role.field.teacher.about</i18nKey>
            <type>LONG_TEXT</type>
        </UserRoleField>
    </TEACHER>

    <MANAGER>

    </MANAGER>

    <LISTENER>
        <UserRoleField>
            <name>group</name>
            <i18nKey>role.field.listener.group</i18nKey>
            <type>SELECT</type>
        </UserRoleField>
        <UserRoleField>
            <name>course</name>
            <i18nKey>role.field.listener.course</i18nKey>
            <type>SELECT</type>
        </UserRoleField>
        <UserRoleField>
            <name>customer</name>
            <i18nKey>role.field.listener.customer</i18nKey>
            <type>SELECT</type>
        </UserRoleField>
    </LISTENER>

    <CUSTOMER>

    </CUSTOMER>

    <ADMIN>

    </ADMIN>

</RoleFields>



В БД есть таблицу, которая связывает пользователя с ролью. И к этой таблице привязывается таблица, в которой находятся поля.

Есть ли альтернативы?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107160
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для чего роли и привелегии?
нафига xml?
есть база, делаешь запрос по юзеру - получаешь то к чему у. него есть доступ, и прочее
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107164
Tsyklop, а нужна такая гибкость вообще? Так сложно делают обычно когда роли/привилегии могут настраиваться динамически. А в случаях по-проще можно и хардкодить условия завязываясь на роли. В случаях чуть сложней можно в сами енумы добавлять поля:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public enum Role {
    ADMIN(true, true, true, true, true);

    private final boolean use, view, create, update, delete;

    Role(boolean use, boolean view, boolean create, boolean update, boolean delete) {
        this.use = use;
        this.view = view;
        this.create = create;
        this.update = update;
        this.delete = delete;
    }
}

Хотя твой вариант на самом деле тоже не супер сложным выглядит. А вот по поводу доп полей и как они к разграничению прав относятся - не понял.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107168
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev
Tsyklop, а нужна такая гибкость вообще? Так сложно делают обычно когда роли/привилегии могут настраиваться динамически. А в случаях по-проще можно и хардкодить условия завязываясь на роли. В случаях чуть сложней можно в сами енумы добавлять поля:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public enum Role {
    ADMIN(true, true, true, true, true);

    private final boolean use, view, create, update, delete;

    Role(boolean use, boolean view, boolean create, boolean update, boolean delete) {
        this.use = use;
        this.view = view;
        this.create = create;
        this.update = update;
        this.delete = delete;
    }
}

Хотя твой вариант на самом деле тоже не супер сложным выглядит. А вот по поводу доп полей и как они к разграничению прав относятся - не понял.


На самом деле задумался (еще после комментария вади) в необходимости привилегий как таковых. В будущем можно будет прикрутить, а сейчас это будет избыточно.

Дополнительные поля и привилегии никак между собой не связаны. Это два разных вопроса. Возможно название ввело в заблуждение.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107225
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
Есть ли какие-то другие варианты реализации данной части вопроса?
либа есть штатная. Зачем велосипед?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107314
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Tsyklop
Есть ли какие-то другие варианты реализации данной части вопроса?
либа есть штатная. Зачем велосипед?

Что за либа?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107327
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,
Spring security
?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107547
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Tsyklop,
Spring security
?


Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107578
Roman Osipov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tsyklop, Очень похоже, что вам надо настроить ACL

https://www.baeldung.com/spring-security-acl
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107593
Roman Osipov , не, ACL - это про секюрити на объекты. Т.е. есть вполне конкретный курс в таблице курсов - вот на него хочу выдать права таким-то пользователям. А то что в первом посте у Tsyklop - это все-таки разрешения на выполнение функций в приложении.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107629
Roman Osipov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev, На первый взгляд - ничего не мешает определить в качестве Domain Objects бины, реализующие DAO или сервисный слой. И строки в таблице и наши классы в приложении - суть ресурсы, к которым можно задать ACL доступ. Или не так понимаю?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107636
Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например:
Код: xml
1.
2.
3.
4.
5.
6.
7.
        <Privilege>
            <value>MANAGE_COURSE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>

Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать.

А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107640
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое главное нет ответа
для чего роли и привилегии?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107645
Roman Osipov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev
Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например:
Код: xml
1.
2.
3.
4.
5.
6.
7.
        <Privilege>
            <value>MANAGE_COURSE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>

Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать.

А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет.


В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107649
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
PetroNotC Sharp
Tsyklop,
Spring security
?


Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю.
ты забыл что сейчас из каждого утюга REST.
Это значит что фильтруя урл, ты получаешь первый уровень по разрешениям.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107650
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
В веб обычно роли не от субд. Хибер ходит под одним логином
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107658
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
вадя,
В веб обычно роли не от субд. Хибер ходит под одним логином
дак поэтому и такой вопрос и был задан
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107663
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
PetroNotC Sharp
вадя,
В веб обычно роли не от субд. Хибер ходит под одним логином
дак поэтому и такой вопрос и был задан


В системах может быть разграничение пользователей по возможностям. Например Обычный юзверь, Манагер и Админ.

На бэке есть список эндпоинтов. Но обычный пользователь не может делать то, что делает Админ и это нужно как-то контролировать.

Контролируется ролями (в большей части приложений) и привилегиями (более гибкая штука. Зачастую используется в CRM системах (я так думаю), где те самые роли с привилегиями можно настраивать через БД, то бишь все хранится в бд.).

Каждому пользователю в системе выдается роль или несколько ролей при помощи которых ведется контроль доступа к разным эндпоинтам на бэке.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107664
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Roman Osipov
Stanislav Bashkyrtsev
Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например:
Код: xml
1.
2.
3.
4.
5.
6.
7.
        <Privilege>
            <value>MANAGE_COURSE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>

Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать.

А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет.


В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить.


Функционал с ролями, привилегиями не велосипед - это есть в секюрити. То что предлагаете Вы интересно, но для проекта избыточно. Хотя в нескольких моментах вижу применение.

Спасибо за информацию.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107678
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
PetroNotC Sharp
Tsyklop,
Spring security
?


Что-то не совсем понял. Списка ролей не секюрити нет. Их даёт сам программист. И проводит настройку доступов тоже программист. Секюрити дает функционал по аутентификации. Где в секюрити роли и привилегии, хранение в бд... не понимаю.
простейший вариант - куча фильтров где проверяется сам урл и действие по CRUD.
В Spring DefaultSecurityFilterChain
вы проверяете урл - это ресурс. И что с ним делаем по CRUD.
Хранить роли можно где угодно.
sql.ru/app/post/123456 delete or get or....
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107684
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop,

если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js.

при создании страницы загружаются из базы разрешения - и вперед
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107712
Roman Osipov
Stanislav Bashkyrtsev
Roman Osipov, ну судя по XML файлу там по сути ограничение на ендпоинты. Например:
Код: xml
1.
2.
3.
4.
5.
6.
7.
        <Privilege>
            <value>MANAGE_COURSE</value>
            <modes>
                <modes>USE</modes>
                <modes>VIEW</modes>
            </modes>
        </Privilege>

Тут говорится что такая привилегия позволяет просматривать курсы. Но тут не сказано какой конкретно курс. А значит это то же самое что в Spring Security сконфигурить ендпоинт и сказать что пользователь с ролью USER имеет право его вызывать.

А в ACL любой будет иметь возможность вызвать ендпоинт, но потом нужно будет сходить в БД и убедиться что мы можем просматривать именно курс с ID=x. Это медленно и сложно, я бы рассматривал такой вариант только если других нет.


В доках Спринга декларируется, что структуры ACL очень эффективно кэшируются - проблемы с производительностью вряд ли случатся. И стандартный функционал наверное лучше чем велосипедный - он уже оттестирован и по крайней мере баги можно загуглить.
Ну в доках спринга может много чего быть написано, но кеширование становится затруднительным когда а) у нас появляется более одной ноды и б) если нужно кешировать самую большую таблицу в приложении (а ACL таблицы обычно намного больше чем таблицы с самими объектами).

Но как ни крути - ACL решает совершенно другую проблему. Это логически работает не как роли - это совершенно другой подход и предназначен он для другого. Его просто не получится использовать для решения подобных задач. Разве что сами задачи поменять и реализовывать другие требования.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107714
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
Tsyklop,

если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js.

при создании страницы загружаются из базы разрешения - и вперед


У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107715
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Не прикидывайся. Вопрос выше как в коде писать роли. Не на jdbc же)
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107718
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
вадя
Tsyklop,

если это веб - то для каждой роли пишется разрешённая страница, на этой странице формируются только те данные, что позволены данной роли. если если у роли есть привилегии - то в зависимости от привилегии формируются те или иные части dom. ну и соответственно куски js.

при создании страницы загружаются из базы разрешения - и вперед


У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI.

При такой постановке знание фронту своей роли - ничего не даёт. Фронт полностью зависит от бэка и просто отрисовывает то
что ему дали.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107721
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Нет.
- в js свои контроллеры и своя БЛ.
А бэк просто последний рубеж. Как FK в субд
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107736
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Tsyklop
пропущено...


У меня REST приложение. Бэк на спринге, а фронт на ReactJS. У меня сервер ничего не знает про фронт. У него есть ресурсы, которые он обслуживает. Запросы можно делать через тот же Postman. Посему роли нужны на бэке. Понятное дело, что фронт знает роль юзверя и в зависимости от этого отрисовывает UI.

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


Фронт должен знать, что для каких-то пользователей отрисовывать пункт(ы) меню, кнопки и т.д. не нужно. Как фронт может узнать это? Один из вариантов роль.

Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107745
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем нагородили на пустом месте кучу проблем себе и счас их решаем....
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107768
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
в общем нагородили на пустом месте кучу проблем себе и счас их решаем....


Скорее всего Вы не делали таких приложений, раз так говорите. Но могу ошибаться.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107769
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
Скорее всего Вы не делали таких приложений, раз так говорите. Но могу ошибаться.
не ошибаешься, с такой постановкой не берусь даже.
Tsyklop
Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107878
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
топик меньше пяти страниц - деньги на ветер
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107882
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
mayton
пропущено...

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


Фронт должен знать, что для каких-то пользователей отрисовывать пункт(ы) меню, кнопки и т.д. не нужно. Как фронт может узнать это? Один из вариантов роль.

Фронт и бэк отдельные штуки. Бэк не отдает фронт вообще никак.

Что-то в этом не то.

Какая-то натяжка.

Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107889
mayton , задача BE - обеспечить безопасность. Задача UI - показать те элементы, которые не будут создавать впечатление что у пользователя есть права хотя на самом деле их нет. Например, на этом форуме у админов наверняка есть возможность удалять посты. Было бы неправильно показать кнопку обычным пользователям - они бы получили ошибку если бы попробовали нажать на нее. Поэтому как BE, так и UI должны знать что пользователь может, а что не может.

При этом код (HTML, JS, CSS) и основные данные для страницы (тема, пост, авторы) оба пользователя возможно получат одинаковые и эти данные никак не влияют на отрисовку. UI будет основывать решение рисовать или нет как раз на роли/привилегиях. Это все что пытается донести Tsyklop .
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107924
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,

в браузере решается?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107944
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Поэтому как BE, так и UI должны знать что пользователь может, а что не может.

Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать.
При некоторых условиях это может быть вектором атаки.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107947
вадя , да. Можно еще конечно на BE генерить HTML страницы, но счас это редкость - последний проект на котором я такое видел был 8 лет назад..

mayton
Stanislav Bashkyrtsev
Поэтому как BE, так и UI должны знать что пользователь может, а что не может.

Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать.
При некоторых условиях это может быть вектором атаки.
Ну если бы мы работали с серверными страницами, то за отрисовку отвечал бы другой фреймворк - JSP/Velocity/SiteMesh/etc. Но эта логика скорей всего все равно была бы в месте где мы генерим страницы. Какая разница это на сервере или в браузере бы делалось? Никакой.

И атаки должны останавливаться на сервере. Отрисовка HTML за security никак не отвечает. Разве что речь про XSS, однако тут опять же - где бы мы не генерили страницу, об этом надо помнить.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107957
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
в браузере решается?

Stanislav Bashkyrtsev
вадя , да.
это дыра в безопасности
я зайду в отладчик и задам доступ ко всему что захочу
я зайду в отладчик и увижу всю структуру

конечный юзер должен видеть только то , что ему разрешено не только на экране но и в коде.
а это определяется при построении html страницы
Stanislav Bashkyrtsev
. Какая разница это на сервере или в браузере бы делалось?
как минимум в безопасности, в количестве кода исполняемого в браузере, ну и трафик.

и опять таки - продвигают SSR - правда через одно место - сначала сгенерят охеренную строку.
потом из этой строки сгенерят обыкновенную html строку.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107958
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
И атаки должны останавливаться на сервере.
по первости надо отбить желание сделать атаку - чем меньше атакующий увидит в коде - тем меньше у него буде данных, а следовательно желания атаковать
ведь уже сколько раз писали , что стоит только залезть в код и столько можно вытащить данных, целые таблицы.

для нормального юзера - отображается только разрешённая ему часть, а в самом браузере - всё , что есть на сервере
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107966
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видите друзья, какую мы интересную тему затронули. Фронт и безопаность.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107968
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
вадя
в браузере решается?

Stanislav Bashkyrtsev
вадя , да.
это дыра в безопасности
я зайду в отладчик и задам доступ ко всему что захочу
я зайду в отладчик и увижу всю структуру
почему? вот, например json с правами
Код: javascript
1.
{"data":[{},{},{}],"actions":[{"name":"удалить","url":"myservlet/delete"},{"name":"не удалить","url":"myservlet/nodelete"},...]}

или без прав
Код: javascript
1.
{"data":[{},{},{}],"actions":[]}

где дыра?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107972
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Видите друзья, какую мы интересную тему затронули. Фронт и безопаность.


Что там интересного-то? Есть поток данных, есть поток меты, все.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107975
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще есть поток мыслей от вади, и это создает интересные завихрения в обсуждениях.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107976
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Stanislav Bashkyrtsev
Поэтому как BE, так и UI должны знать что пользователь может, а что не может.

Я согласен с тезисом о кнопке. Но что-то есть неправильное в том что знание UI определяет возможности что-то сделать.
При некоторых условиях это может быть вектором атаки.
для этого второй рубеж на бэке.
Не надо параноить.
Роли, логины, пароли ходят по сети в виде хешей или шифрованных строк токенов.
Если шифр взломал, то получил админские права.
Не о чем рассуждать.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107979
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию
о том что "здесь была кнопка".
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107980
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии.
вроде 3 раза прокричал. Проверка как на фронте, так и на бэке. Ну и бд тоже можно добавить.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107981
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Если я слегка изменю фронт - то получается в вашей системе безопасности - я поднял себе привилегии.
вроде 3 раза прокричал. Проверка как на фронте, так и на бэке. Ну и бд тоже можно добавить.

И я с этим согласен. Есть принцип минимального знания и минимальной привилегии.
Я - за соблюдение обоих.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107982
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию
о том что "здесь была кнопка".
-1
Часто кнопки идут с маркером Скрыто.
Что тебе даст кнопка скрытая "Перевести 1млн долларов" ?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107988
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию
о том что "здесь была кнопка".
-1
Часто кнопки идут с маркером Скрыто.
Что тебе даст кнопка скрытая "Перевести 1млн долларов" ?

Хочешь поиграть с огнём? Начни шарить в фейсбуке скрины со своего банковского кабинета.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107993
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Чтобы получить страницу ты должен войти))).
А если сбер узнал кто ты, то и прятать кнопку не особо нужно.
Но все зависит от паранойи
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107995
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40107996
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(разводя руками)

Я не буду больше спорить. Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ
информации о привиелегированном пользователе. И всё. И мне очень странно ребята что вы вдруг решили
поиграть в либерализм. Дескыть чего.. так.. пускай видит кнопку. Фреймворк-же!

Ради бога. Это ваши цветочные магазины.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108005
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я не буду больше спорить. Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ
информации о привиелегированном пользователе. И всё. И мне очень странно ребята что вы вдруг решили
поиграть в либерализм. Дескыть чего.. так.. пускай видит кнопку. Фреймворк-же!

Ради бога. Это ваши цветочные магазины.
полностью поддерживаю
am_sasa
почему? вот, например json с правами
Код: javascript
1.
{"data":[{},{},{}],"actions":[{"name":"удалить","url":"myservlet/delete"},{"name":"не удалить","url":"myservlet/nodelete"},...]}


или без прав
Код: javascript
1.
{"data":[{},{},{}],"actions":[]}


где дыра?
это где?
в браузере? и это что? по этому jason строится dom? а если я вставлю то что должно быть в скобках построится всё что было не нужно?
и т.д. и т.п.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108009
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я просто сказал что потенциальному злоумышленнику не надо давать НИКАКОЙ
информации о привиелегированном пользователе.
вообще не надо давать никакой дополнительной информации.
ни о ом что есть привилегии, ни о том что ещё что-то существует, кроме того что показано.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108015
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Ваша хотелка "не давать ничего" зависит от денег.
Я не максималист. Автор решает, заплатят ему или нет.
Если фреймворк у него JS и приложение ОДНОГО ОКНА, то там все кнопки на клиенте))
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108016
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Максималисты блин)
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108022
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ваша хотелка "не давать ничего" зависит от денег.
Я не максималист. Автор решает, заплатят ему или нет.
Если фреймворк у него JS и приложение ОДНОГО ОКНА, то там все кнопки на клиенте))
ну тут уже каждый решает как сильно прикрыть свой зад...
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108024
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На одном из курсов по инфо-безопасности нам рассказывали о том что злоумышленник
обладает:

- бесконечным временем для анализа вашего кода (фронтенда). Он никуда не спешит. Он курит. Он пьет чай.
- бесконечными ресурсами (у него много физческих хостов для зондирования и атак).

Он - (предположительно) бывший сотрудник. Он знает код изнутри. Он работал с вами. Он - разрабатывал это.
(Это кстати легло в основу принципов Керхгофса).

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

Вот исходя из такой пессиместичной вводной я предлагаю и продолжить дискуссию.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108025
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ваша хотелка "не давать ничего" зависит от денег.
а какие проблемы? в чем дороговизна?
грамотно подойти к построению прав, распределению страниц.

если на берегу договориться - всё просто.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108026
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Ты сделай это на хибере а не на jdbc.
Тогда можно обсудить.
Я делал а ты нет.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108027
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

вот из этих посылов я и исхожу при проектировании с самого начала.
даже если конечный юзер знает о наличии других страниц и попытается их ввести в адресной строке - он переходит на сайты с девочками, правда сначала будет задержка в несколько минут....
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108029
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Современный веб это на клиенте все кнопки.
После уяснения фразы обсуждать становится нечего. Не пишем велосипедов.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108031
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Ты сделай это на хибере а не на jdbc.
ты предлагаешь обсуждать прокладку по-новой? или ?
зачем мне хибер, если я без него живу намного спокойнее... и возможностей больше
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108032
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Современный веб это на клиенте все кнопки.
После уяснения фразы обсуждать становится нечего. Не пишем велосипедов.
ну да
а потом читаем на хабре статьи как всё доступно
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108034
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадя, опыт есть?
Tsyklop
фронт на ReactJS
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108035
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Я отсекаю все твои рассуждения по jdbc. Offop.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108049
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
фронт на ReactJS
нет и не хочу вникать
проще на нативном js.
возможностей больше.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108089
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя

в браузере? и это что? по этому jason строится dom? а если я вставлю то что должно быть в скобках построится всё что было не нужно?
и т.д. и т.п.
да, все правильно, в какие скобки? Псевдо код:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
function вставитьКнопки(actions) {
	function добавитьБатон(label, url) {...}
	actions.forEach(function(action){ 
		добавитьБатон(action.name, action.url) 
	})
}
ajax.get(url, function(text){
	var json = JSON.parse(text);
	нарисоватьТаблицу(json.data);
	вставитьКнопки(json.actions);
})


для особо подозрительных скрипт про функции можно тоже загнать в json:
Код: javascript
1.
2.
3.
4.
5.
6.
ajax.get(url, function(text){
	var json = JSON.parse(text);
	eval(json.секретныйСкрипт);
	нарисоватьТаблицу(json.data);
	секретнаяФункция(json.секретныеДынные);
})
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108095
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa,

тут mayton жалуется на батарейки, а ты ему предлагаешь то, что их пожираешь из json строить html, чтоб потом этот html встроить в dom. когда можно сразу вставлять готовый html в dom.....
да сразу получать готовый html....


Код: javascript
1.
eval(json.секретныйСкрипт);



после этого разговаривать не о чём.....
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108096
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя

после этого разговаривать не о чём.....
так я и написал, что это для особо одаренных, а про готовый HTML тебе уже Петро сказал, сейчас так никто не делает
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108131
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
Tsyklop
фронт на ReactJS
нет и не хочу вникать
проще на нативном js.
возможностей больше.


Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108132
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
am_sasa,

тут mayton жалуется на батарейки, а ты ему предлагаешь то, что их пожираешь из json строить html, чтоб потом этот html встроить в dom. когда можно сразу вставлять готовый html в dom.....
да сразу получать готовый html....


Код: javascript
1.
eval(json.секретныйСкрипт);



после этого разговаривать не о чём.....


Современные реалии таковы, что фронт и бэк разные приложения со своими приколами. Сейчас уже никто не делает на JSP или на других шаблонизаторах, как было раньше. Не делают большие приложения. Мелкие для себя - пожалуйста как угодно.

У архитектуры, когда сервак отдает html, есть один интересный недостаток - на приложение под смартфоны тоже html отдавать будете? а на другой, какой либо клиент тоже html будете отдавать?

Такой подход уже устарел.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108135
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое интересное что люди говорят про безопасность в подходе, когда фронт в себе уже хранит, только отрисовывает по условиям.

По вашей логике, все кто использует такой подход дураки? и те проекты, которые так написаны, можно легко ломануть? ломать можно - не спорю. Но это не так легко.

Вообще не понял в чем проблемы с безопасностью.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108139
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
am_sasa
а про готовый HTML тебе уже Петро сказал, сейчас так никто не делает
ага , во только почему-то для нормальных сайтов рекомендуют использовать SSR

Tsyklop
Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем.
ага , вот только используется json, со всеми вытекающими проблемами и кучей кода
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108143
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
Современные реалии таковы, что фронт и бэк разные приложения со своими приколами.
к пуговицам претензии есть?
Tsyklop
У архитектуры, когда сервак отдает html, есть один интересный недостаток - на приложение под смартфоны тоже html отдавать будете?
а ты из json постоишь приложение для смартфона? или для яблока? грамотно построенный сайт выдаёт и на десктоп и на смартфон один html, продвинутые разрабы делают разные версии сайтов для десктопов и смартфонов - посмотри habr.com

Tsyklop
ломать можно - не спорю. Но это не так легко.
сам факт признания этого - уже говорит сам за себя. на том же хабре сколько было статей про "защищённые" сайты...
Tsyklop
Вообще не понял в чем проблемы с безопасностью.
проблем с безопасностью нет , есть проблемы когда этой безопасности нет...
Tsyklop
Такой подход уже устарел.
ещё раз ПОЧИТАЙ для чего рекомендуют использовать SSR
чем отличается json от html?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108153
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
Такой подход уже устарел.
если почитать статьи про сайтостроение - то придёшь к выводу , что "устаревшее" есть передовое.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108167
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя, на фронте есть SSR, в чем проблема? изучайте вопрос. Все (99%) фронтовые либы(ReactJS и т.п.)/фреймворки(Angular и т.п.) поддерживают SSR. В чем проблема?.

Приложения на смартфонах не на html-е работают. Для справки. Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем. + https и вообще шикарно.

Если говорить о браузере, то далеко не все сайты можно адаптировать под телефон.

Но я ведь говорил не про сайт, а про приложение, которое ставите из магазина приложений. Это вообще-то разные вещи.

То бишь по Вашему все разработчики дураки? которые на json-е сделали или как?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108168
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tsyklop
Так ReactJS это и есть обычный, нативный JS. Это не Angular со своим всем.
ага , вот только используется json, со всеми вытекающими проблемами и кучей кода[/quot]

Кода куча везде, особенно у древнего и неповортливого JSP. Вообще не вижу проблем с JSON-ом.

Опять же. По вашему все кто использует json идиоты? так получается? (это 95% всего что сейчас делают, я так думаю)
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108170
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
Tsyklop
Такой подход уже устарел.
если почитать статьи про сайтостроение - то придёшь к выводу , что "устаревшее" есть передовое.


Это же где? почему люди отказываются от "передового" и переходят на более современное? сейчас куда не плюнь везде REST и фронт отдельно.

Если сидеть на проекте(ах) которому(ым) 100500 лет, то конечно будете так рассуждать.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108189
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
на фронте есть SSR, в чем проблема?
это у вас? т.е. все-таки клиенту идёт html,
так всё-таки веб или что-то другое?
Tsyklop
особенно у древнего и неповортливого JSP
да ты что?
Tsyklop
Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем
?????тот же json что и для браузера?
Tsyklop
По вашему все кто использует json идиоты
почему идиоты, просто люди не знающие фронт и делающие кучу лишней работы.
ещё раз чем отличается json от html?
для серверной части - абсолютно ничем - и то и другое строка. для браузера - json дополнительная работа.
используете SSR - как минимум 3-разовая нагрузка на сервер, строится json, парсится json, строится html.
и после этого про неповоротливый jsp?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108196
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя
это у вас? т.е. все-таки клиенту идёт html,
так всё-таки веб или что-то другое?
Tsyklop
особенно у древнего и неповортливого JSP
да ты что?
Tsyklop
Приложение получает JSON от сервера и работает себе спокойно. вообще не вижу проблем
?????тот же json что и для браузера?
Tsyklop
По вашему все кто использует json идиоты
почему идиоты, просто люди не знающие фронт и делающие кучу лишней работы.
ещё раз чем отличается json от html?
для серверной части - абсолютно ничем - и то и другое строка. для браузера - json дополнительная работа.
используете SSR - как минимум 3-разовая нагрузка на сервер, строится json, парсится json, строится html.
и после этого про неповоротливый jsp?


Я не использовал SSR еще. не было необходимости.

JSON тот же прикиьте. JSON он один для фронта, для приложения. Для чего угодно. Данные передаются в одном формате. Почитайте про REST. Может хоть так поможет.

Для браузера все дополнительная работа, кроме чистого html без всяких примесей. Даже стили и js это доп работа. А json грузится потом в js-е. Проблемы в этом воооообще не вижу. 99% сайтов так сейчас работают (функциональных сайтов) и нормально живут. Но только Вы почему-то говорите что это хрень все. Почему - загадка.

Не вижу смысла дальше вести эту дискуссию. У каждого своё мнение.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108201
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tsyklop
Даже стили и js это доп работа.
а к этой работе добавляем работу js с json.
Tsyklop
99% сайтов так сейчас работают (функциональных сайтов) и нормально живут.
а могли бы и лучше
Tsyklop
JSON тот же прикиьте. JSON он один для фронта, для приложения.
те кто заботятся о конечном потребителе не гонятся за универсализмом - даже страницы делают разные - для десктопа и смартфонов. а за ваш один и тот же json расплачивается конечный потребитель и временем и батарейкой
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108202
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Че вы спорите.
Ты против ОРМ и РЕСТ. Ты за JDBC.
Это совершенно разные проекты.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108203
Tsyklop
Но только Вы почему-то говорите что это хрень все. Почему - загадка.
Меня это тоже поначалу сбивало с толку, а потом оказалось что вадя - не программист. Но при этом любит подискутировать делая вид что понимает о чем речь. Даже слова знает по теме. В общем просто игнорируй.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108208
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
потом оказалось что вадя - не программист
несколько лет назад некоторые программисты пытались доказать , что шаблонизаторы намного быстрее стрингбилдеров.
нокогда узнали, что эти шаблонизаторы используют в нутрях те же стрингбилдеры, да ещё и в неоптимальном применении как-то притихли.
одно время пытались доказать что хибер позволяет запросто сменить субд, но как-то приутихли. когда поняли, что это не так.
когда-то смеялись что я рекламирую ws- теперь его много где используют.
я говорил, что в браузе лучше передавать готовую html - счас рекомендуют SSR, т.е. передавать готовую html....(правда с лишними затратами на сервере, но даже это считается намного лучше чем рендерить на клиенте)
так что это ещё вопрос кто программист.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108218
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Tsyklop
Но только Вы почему-то говорите что это хрень все. Почему - загадка.
Меня это тоже поначалу сбивало с толку, а потом оказалось что вадя - не программист. Но при этом любит подискутировать делая вид что понимает о чем речь. Даже слова знает по теме. В общем просто игнорируй.

Выше все посты про технологии. А ты скатился до личностей.
Бескультурье.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108266
mayton
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию
о том что "здесь была кнопка".
Никакому злоумышленнику эта информация не будет интересна. Никто уже не шлет запросы на сервер через form submission. Все работают через AJAX. Т.е. запрос на удаление поста будет делаться JS'ом и будет выглядеть как DELETE /post/{id} . А значит и искать инфу о том какие ендпоинты существуют будут не внутри HTML, а внутри JS. Ты же не предлагаешь генерить JS на бэке с помощью шаблонизатора?
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108269
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
выглядеть как DELETE /post/{id} .
да. Но это же самое шлется без AJAX.
Поэтому фраза что AJAX победил сабмит (основу интернет) не верна.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108291
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
mayton
Я просто говорил о том что не стоит потенциальному злоумышленнику предоставлять информацию
о том что "здесь была кнопка".
Никакому злоумышленнику эта информация не будет интересна. Никто уже не шлет запросы на сервер через form submission. Все работают через AJAX. Т.е. запрос на удаление поста будет делаться JS'ом и будет выглядеть как DELETE /post/{id} . А значит и искать инфу о том какие ендпоинты существуют будут не внутри HTML, а внутри JS. Ты же не предлагаешь генерить JS на бэке с помощью шаблонизатора?

Станислав. Ты - фуллстек специалист. Я - больше по серверной части. И я не знаю как у вас
принято разрабатывать. Я всего лишь хотел сказать что никакие части системы
безопасности не должны "утекать" на фронт. Как там хакер будет долбить...
через AJAX, Curl, Python или еще бох знает какие утилиты - неважно. Пускай
долбит. Просто не надо ему предоставлять больше знаний чем для отображения
текущего экрана пользователя.
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108292
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я всего лишь хотел сказать что никакие части системы
безопасности не должны "утекать" на фронт. Как там хакер будет долбить...
через AJAX, Curl, Python или еще бох знает какие утилиты - неважно. Пускай
долбит. Просто не надо ему предоставлять больше знаний чем для отображения
текущего экрана пользователя.
полностью согласен
...
Рейтинг: 0 / 0
Реализация привилегий и дополнительных полей роли
    #40108297
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
текущего экрана пользователя.
в этом прокол.
Наш новый стас видит в этом только AJAX, следовательно видит только "приложения одного окна" см. Вики.
Но тогда у таких приложений нет текущего экрана))
...
Рейтинг: 0 / 0
90 сообщений из 90, показаны все 4 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Реализация привилегий и дополнительных полей роли
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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