У меня нет большого опыта в программировании на JavaScript или разработке приложений Angular, но в целом я понимаю, что когда JavaScript достигает клиентской части, его можно подделать.
Я встречал пример реализации авторизации на основе ролей в приложении Angular, где роли пользователей отправляются клиенту при успешном входе в систему (даже если они используют JWT, который должен быть «самодостаточным»). Затем значения ролей пользователя сохраняются на стороне клиента (локальное хранилище или переменная) и используются в canActivate
route-guard.
(Я знаю, что значения, используемые в canActivate
, будут определять только то, активировать ли маршрут и отображать ли рассматриваемый компонент, а реальная проверка роли происходит на стороне сервера, когда код компонента пытается получить данные.)
Мой вопрос: можно ли подделать эти сохраненные клиентом значения, или Angular имеет какие-либо возможности для обеспечения безопасности кода?
Заранее спасибо.