Я работаю над проектом, который требует пользовательских гранулярных настроек безопасности и конфиденциальности.По сути, мне нужно иметь возможность ограничить доступ к данным на основе пользователя, выполняющего запрос.Достаточно просто, правда?Вот несколько уловок, хотя ..
- Пользователи должны храниться в таблице пользователей.Создание учетных записей пользователей Windows, пользователей SQL-сервера или ролей SQL-сервера неприемлемо для этого приложения.
- Критерии безопасности должны определяться любым количеством источников, например местоположением пользователя, уровнем оплаты, специальностью и т. Д.
Прямо сейчас мы реализуем это, генерируя предложение SQL "where" и добавляя его в конец каждого запроса перед его выполнением.Это ограничивает нас от возможности использовать более новые технологии, такие как Entity Framework, а также несет с собой и другие ограничения и проблемы с производительностью.
Любая помощь или идеи будут с благодарностью.Пожалуйста, дайте мне знать, если необходимы дополнительные разъяснения.
Спасибо!Jason