Моя компания начинает разрабатывать систему безопасности для приложения, которое включает в себя несколько подприложений и будет иметь несколько клиентов, обращающихся к централизованному веб-приложению. Мы разрабатываем или пытаемся создать лучшую систему для обслуживания этих клиентов.
Я склоняюсь к использованию утверждений, чтобы все было прямым, с типами утверждений, такими как App1.Invoicing.View или App1.Invoicing.Delete с ценностями претензии клиента. Вот несколько вопросов:
Использование арендаторов. Один аргумент состоит в том, что для каждого клиента существует арендатор, тогда у каждого пользователя те же претензии, но значения 1 или 0 соответствуют истине. или ложь Другим аргументом является то, что у нас есть Арендатор для каждого приложения (будет менее полдюжины приложений), нет ни одного приложения, которое отбрасывает, каждое из них очень автономно. Мой дизайн без использования Арендаторов, или, что более уместно, все в одном Арендаторе.
Использование Идентификаций - Мой дизайн заключается в использовании Идентификаций в качестве границ приложения. Это ограничит количество заявок, загружаемых за раз.
Кто-то в команде предложил использовать Azure Атрибуты клиента для хранения всех этих данных и удаления от Претензии полностью. Их аргументы основаны на том, насколько легко создавать пользовательские атрибуты в Azure. Для меня это проблема с разрешениями, и поэтому она относится к пространству UserPrincipal, UserIdentites, UserClaims.
Мы ожидаем, что страница входа будет основана на Azure, а пользователь будет иметь приложение по умолчанию и клиент. Если у пользователя более одного приложения или клиента (это возможно, потому что суб-клиенты - это просто клиенты с действительным родительским идентификатором), у них будут соответствующие выпадающие списки для переключения.
В настоящее время планируется управлять настройка пользователей в пределах Azure с некоторым ребрендингом. Я не проводил много исследований здесь и довольно плохо знаком с работой с Azure, хотя сейчас я настроил пару арендаторов и несколько пользователей и подключен через комбинации идентификатора клиента, идентификатора клиента и секрета клиента. Я работал над некоторыми. Net Базовым кодом и считаю, что его было бы очень легко создать как приложение, а не как внутри Azure.
Я хотел бы услышать, что другие люди думают об использовании Арендаторов. , Тождества, Утверждения, Пользовательские Атрибуты и встраивание управления пользователями в Azure. Мне кажется, я понимаю или могу узнать, как выполнять каждую из этих техник, я ищу мнения о правильных вариантах.
Спасибо, Саммер