Маршрутизация доступа к роли на стороне сервера для углового JS в MEAN

0

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

Пример:
1) Пользователь имеет токен доступа в файлах cookie.
2) Сторона стороне клиента/сервера расшифровывает токен доступа и определяет роль пользователя
3) Роль пользователя - это возврат к логике доступности ролей.

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

Как этого можно избежать?

$routeProvider.when('/admin/index', {
        controller: 'AdminIndex',
        templateUrl: 'AdminIndex.html',
        access: {
            roles: ['Admin']
        });
});
Теги:
mean-stack

1 ответ

1
Лучший ответ

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

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

  • 0
    Это то, что я сейчас реализую, используя токен доступа для определения роли пользователя, но у пользователя все еще есть много способов получить доступ к странице, обманув браузер без необходимости доступа к токену. Я пытаюсь убедить свою голову, что это невозможно, но мне нужна надежная поддержка для этого. В противном случае у меня были бы проблемы, если бы ему удалось реализовать это, когда я сказал, что это невозможно.
  • 0
    @stackdisplay - если вы выполняете тестирование на сервере, то не имеет значения, что пользователь вводит в заблуждение браузером, он попытается загрузить страницу администратора, не получит данные (с сервера), необходимые для отображения чего-либо чувствительны к этому, и проблема исчезнет.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню