2015-08-30 3 views
0

Я разрабатываю приложение на стороне клиента, используя AngularJS. Мне нужно запросить некоторые связанные с авторизацией данные с серверной стороны один раз и сохранить их для использования в решениях управления доступом. Я не хочу запрашивать данные перед каждым решением.AngularJS Secure Storage Media

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

Есть ли безопасное хранилище (только для чтения), которое может хранить данные авторизации в моем случае?

+0

Это одностраничное приложение? или вы хотите сохранить информацию между обновлениями страницы? – toskv

+0

Да, это одностраничное приложение. – YAM

+0

Тогда почему бы просто не сохранить эту информацию в службе и использовать ее? – toskv

ответ

1

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

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

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

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

+0

У меня уже есть большинство решений по управлению доступом на бэкэнд. Мне нужно только управлять правами доступа клиентская сторона – YAM

+0

@YAM, что бы вы не сохранили на клиентской стороне, клиент сможет изменить. Вы не можете иметь свой торт и съесть его тоже. – doldt

+0

Я вижу. Мне просто интересно, какие лучшие практики для этого case? Просто позвонив в службу с каждым запросом – YAM