Я ищу хорошие ресурсы, шаблоны и методы, позволяющие удовлетворить основные потребности безопасности, такие как авторизация, в клиентском JavaScript.
Я создаю веб-сайт с серверной системой, работающей под управлением одной из распространенных платформ MVC. Серверная часть будет обрабатывать все реальные потребности в безопасности: авторизацию и аутентификацию. Фронт будет построен с использованием Backbone.js, jQuery и нескольких других библиотек, чтобы упростить работу с пользователем.
Вот пример одного сценария, который мне нужно обработать:
У меня есть сетка данных с несколькими кнопками поверх нее. Если вы выбираете элемент в сетке, некоторые кнопки становятся активными, так что вы можете выполнить это действие с выбранным элементом. Эту функциональность легко построить ...
Теперь мне нужно подумать об авторизации. Внутренний сервер будет отображать только те кнопки, с которыми пользователю разрешено работать. Кроме того, внутренний сервер будет проверять авторизацию, когда пользователь пытается выполнить это действие. ... так что серверная часть закрыта, и пользователь не сможет делать то, что пытается, если он не авторизован.
А как насчет JavaScript? Если мой код настроен с помощью набора обработчиков кликов jQuery или других событий, которые включают и отключают кнопки, как мне обрабатывать кнопки, которых нет? Я просто напишу кучу уродливых if
операторов, проверяющих наличие кнопки? Или я могу написать JavaScript таким образом, чтобы я мог отправлять только JavaScript для существующих кнопок, вплоть до браузера, на основе авторизации? или ???
Теперь представьте древовидное представление, которое может или не может разрешать функцию перетаскивания, в зависимости от авторизации ... и форму добавления / редактирования, которая может существовать или не существовать в зависимости от авторизации ... и все эти другие сложные требования к авторизации с большим количеством JavaScript для запуска этих частей интерфейса.
Я ищу ресурсы, шаблоны и методы для обработки таких сценариев, когда серверная часть обрабатывает реальную авторизацию, но передняя часть также должна учитывать то, чего нет, на основе авторизации.