Я занимаюсь разработкой веб-API с использованием ASP.net для приложения.В настоящее время работает над внедрением аутентификации пользователей на основе ролей.Я пытаюсь понять, как можно предотвратить доступ аутентифицированных пользователей к данным других пользователей.Один из подходов, над которым я работаю:
Уникальный ключ для каждой записи пользователя на все таблицы.Таким образом, я мог бы проверить запрос, принадлежит ли он запрашиваемому пользователю или нет.Но как я мог разрешить операцию, если запрашиваемый пользователь является администратором?
Я мог бы разрешить это, разрешив разные запросы в контроллере на основе проверки пользователя.В этом случае я должен передать роль пользователя функции доступа к данным, чтобы решить, разрешена ли запрошенная операция или нет.
(Если обычный пользователь -> разрешил только обновления своей записи (на основе уникального ключа принадлежит пользователю во всех таблицах))
(Если администратор -> все операцииразрешены)
Существуют ли другие более умные элегантные методы?
Я хочу использовать существующие библиотеки ASP.net/C# вместо реализации собственных классов.