В настоящее время я разрабатываю систему с использованием ядра asp.net, и я бы хотел применить авторизацию на основе утверждений, но одна конкретная часть меня сбивает с толку.Как управлять требованиями пользователей?
При подаче иска претензия будет включать в себя тип и стоимость и, возможно, эмитента. В обработчике это требование и эмитент могут быть проверены до подтверждения доступа.
Однако этот эмитент не хранится в идентификаторе db, поэтому как обработчик затем проверяет эмитент?
Я не понимаю, как все это работает? Мое понимание заключалось в том, что пользователь предъявляет претензии какого-либо типа, что их требование имеет определенное значение, а эмитент является валидатором типа претензии, фактически имеющим это значение для этого пользователя.
Обработчик проверит значение и может проверить эмитента, но не может, когда db его не сохраняет. Тогда я не понимаю смысла эмитента.
Я хотел бы, чтобы у пользователя была коллекция требований, включая тех, кто/что проверяет эти претензии и приложение в любое время, чтобы проверить эти претензии.
Пожалуйста, помогите мне разобраться.
Я испытал это как так:
- Использование ядра asp.net приложение с Identity.
- Зарегистрировать пользователя.
- Добавить требование к пользователю, который включает в себя тип, значение и эмитент. (Например, Employeenumber, 312, Microsoft.
- Добавить [Авторизовать (Политика = «MicrosoftEmployeesOnly»)] на контроллер/действие, чтобы ограничить доступ.
- Добавить политику в сферу услуг в StartUp.cs с требованием.
- Код требования, который имеет обработчик, который проверяет, что у пользователя есть требование типа EmployeeNumber, имеет значение и выдается Microsoft.
- Логин и заявки пользователей будут загружены из db в личность .
- Обработчик не сможет проверить пользователя, так как эмитент (Microsoft) был утерян и теперь просто говорит, что Local Authority.
Единственное, что я могу придумать здесь, - это то, что требование добавляется в db, оно считается подтвержденным Microsoft и теперь поддерживается приложением (Local Authority) от имени Microsoft.
Если это правда, то:
- Почему проверить эмитент вообще в любом обработчике?
- Как отменить иск?
Я бы предпочел, чтобы иметь возможность по желанию обратиться к этому эмитенту и проверить требование, когда захочу, то есть эмитент может аннулировать/аннулировать иск. Сотрудник утверждает, что у них есть номер сотрудника в Microsoft, и первоначально Microsoft подтвердила это. Спустя некоторое время Microsoft удалил сотрудника и удалил его. Приложение должно иметь возможность проверять с Microsoft каждый раз, когда пользователь входит в систему, чтобы узнать, действительно ли требование. В этом случае это уже недействительно.
Я немного смущен?
Эй. Извините, мне пришлось удалить свой ответ, потому что у меня нет времени, чтобы исправить мой ответ, и в его текущем состоянии кажется, что это не то, что вы ищете ... Я надеюсь, что другой пользователь сможет помочь вам. –
Matías - Спасибо за ваше время в любом случае –