Все материалы безопасности, с которыми я работал в прошлом в ASP.Net, по большей части были основаны на ролях. Это достаточно просто реализовать, и ASP.Net предназначен для такого типа модели безопасности. Тем не менее, я ищу что-то немного более мелкое, чем простая защита на основе ролей.Безопасность ASP.Net с использованием безопасности на основе операций
По существу я хочу, чтобы иметь возможность писать код так:
if(SecurityService.CanPerformOperation("SomeUpdateOperation")){
// perform some update logic here
}
Мне также нужно будет грести доступ безопасности уровня, как это:
if(SecurityService.CanPerformOperation("SomeViewOperation", SomeEntityIdentifier)){
// Allow user to see specific data
}
Снова, мелкозернистого контроль доступа. Есть что-то вроде этого уже построенного? Некоторые рамки, которые я могу зайти в ASP.Net и начать использовать, или мне придется строить это самостоятельно?
@Josh: Вы когда-нибудь находили достойный способ реализации чего-то подобного? – Breadtruck
Частично да. Я решил проблему с операцией, создав таблицу ролей в базе данных, в которой была привязана таблица xRef. Таким образом, я могу создать древовидную структуру ролей и использовать CTE для возврата сплющенной иерархии. Я создал пользовательскую роль и поставщики членства, чтобы выполнить грязную работу, и пусть ASP.Net обрабатывает все остальное. Это выглядит немного забавно в коде, потому что все это логически, но концептуально есть роли и разрешения. – Josh