Я разработки Azure приложение, использующее этот стек:Какова наилучшая практика для управления защитой от мутантов в Breeze?
(Клиент) Угловое/Бриз
(Server) Web API/Breeze Server/Entity Framework/SQL Server
С каждым запросом я хочу чтобы пользователь фактически имел авторизацию для выполнения этого действия с использованием кода на стороне сервера. Мой вопрос заключается в том, как наилучшим образом реализовать это в контексте Breeze/Web API.
ли лучшая стратегия:
Изменение API контроллера Web и попытаться проанализировать содержание запроса Breeze перед передачей его дальше вниз по цепочке?
Измените метод EFContextProvider и добавьте тест авторизации на каждый выставленный метод?
Переместить безопасность всех в уровень базы данных и убедиться, что GUID GUID и GUID арендатора являются обязательными для каждого запроса и возвращают только соответствующие данные?
Другое решение или какая-либо комбинация вышеуказанного?
Разум, раздутый этим (в хорошем смысле). Это выглядит превосходно, но когда я читаю, я ожидаю, что какой-то хот, вроде «должен использовать Azure Access Control Services» или «работает только с Azure Active Directory»! – Graham
Нет Gotchas вот так! просто определенное соображение в схеме БД. В основном 1) Каждая федеративная таблица должна иметь TenantId, и она должна быть частью ключа Parimary. 2) Нет столбцов IDENTITY. 3) Нет JOINS с таблицей в Корневой БД. 3) Таблица справочных данных должна жить в каждой федерации, там немного других, которые вы читали на. Наше приложение является небольшим размером прямо сейчас и нуждается только в одной федерации, мы используем ту же самую схему для облачной версии и по существующей версии приложения. – pateketu