Детальная авторизация для веб-приложений
У меня есть приложение на C # .net, которое обслуживает как внутренних пользователей компании, так и внешних клиентов. Мне нужно сделать детальную авторизацию, например, кто получает доступ к какому ресурсу. Поэтому мне нужно что-то вроде ресурсной или атрибутной, а не авторизации на основе ролей.
Что приходит мне в голову, это либо:
Реализовать собственный механизм авторизации и таблицы sql для моего приложения .netИспользовать / реализовывать стандартный механизм, например, программное обеспечение, в котором реализован XACML (например, Axiomatics).Проблема с первым методом заключается в том, что он не является централизованным или стандартным, поэтому другие системы не могут использовать его для авторизации.
Проблема второго подхода заключается в том, что он потенциально медленнее (из-за дополнительных вызовов, необходимых для каждого ресурса). Также я не уверен, насколько широко стандартные приложения, такие как XACML, поддерживаются приложениями на рынке, чтобы упростить будущие интеграции.
Итак, в общемКаковы хорошие практики для детальной авторизации для веб-приложений, которые должны обслуживать как внутренних пользователей, так и внешних клиентов?