Лучший способ сохранить роль пользователя в приложении angular

В моем приложении angular функция аутентификации работает с опцией single sing on, после успешного входа в систему cookie будет сохранен для моего приложения, со значением cookie вызовите api, чтобы получить данные пользователя вместе с ролями пользователей и т.д. и сохранить в локальном хранилище.

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

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

1. Вам не нужно хранить роли в локальном хранилище: вы можете просто хранить их в памяти. 2. Что бы вы ни делали, защиты на стороне клиента не существует. Пользователь может делать со своим браузером все, что захочет, независимо от того, используете ли вы локальное хранилище. Вы можете использовать роли на стороне клиента, чтобы скрыть или отключить действия, к которым у пользователя не должно быть доступа, но, в конце концов, ответственность сервер заключается в том, чтобы помешать пользователям делать то, что им запрещено делать.

JB Nizet 13.03.2018 08:07

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

ibenjelloun 13.03.2018 08:19

@JBNizet: память означает: служебная переменная?

Govinda raj 13.03.2018 09:57

Да, например.

JB Nizet 13.03.2018 10:07

@JBNizet Если я использую службу для хранения ролей локально и обновляю браузер после входа в систему, то я получаю сообщение об ошибке, потому что, вероятно, у меня будет условие, подобное <div *ngIf = "role === ''admin">show something</div>, и тогда переменная роли будет неопределенной, а html то, что я хочу скрыть, больше не будет скрыто. Что мне тогда делать? Перенаправить пользователя на страницу входа?

kboul 01.09.2018 12:11

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

ChiefTwoPencils 30.08.2019 01:50
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
5
6
2 384
0

Другие вопросы по теме