Как обработать доступ пользователей к нескольким компаниям с разными разрешениями в одном входе - PullRequest
0 голосов
/ 22 июня 2019

У меня проблема с управлением единым входом учетной записи пользователя с множественным доступом к разным компаниям с разными разрешениями для каждой компании.

Приложение, которое я пытаюсь создать, использует Angular 2 в качестве инфраструктуры веб-интерфейса и Asp Net Core в качестве бэкэнда споставщик токенов безопасности.Обычно каждый пользователь принадлежит одной компании, но теперь мне нужно решить проблему, когда один пользователь может принадлежать нескольким компаниям с разными разрешениями без необходимости выхода из одной системы для входа в другую.Лучшее решение может быть, когда Token имеет все пользовательские компании и все разрешения для каждой компании, которые делают его постоянным.

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

Вторым решением может быть токен только с идентификатором пользователя, и каждый раз, когда пользователь делает запрос, бэкэнд сначала проверяет разрешения в базе данных изатем верните действие ресурса / дескриптора или верните код статуса Forbid.Во внешнем интерфейсе также будет необходимо проверить базу данных на наличие разрешения использовать кнопку действия или перейти к списку ресурсов.

До сих пор у меня нет практики, какие эти два решения и я не могу судить, лучше ли одно, чем другое.Если кто-то может помочь мне выбрать или найти лучшее решение, поделитесь своими идеями со мной.

...