Я недавно начал пытаться использовать в своих веб-приложениях поставщиков членства и роли ASP.NET 4. Но у меня проблемы с внедрением хорошей методологии безопасности.
Я понимаю, что с помощью файлов web.config мы можем ограничить или запретить доступ к определенным aspx-файлам, но есть ли какие-либо хорошие способы запретить доступ к определенной роли при определенных обстоятельствах?
Например;
У нас есть страница с именем "EditUser.aspx".
У нас есть два типа пользователей; администраторы и обычные пользователи. Эта страница используется для редактирования обоих типов. Однако только администраторы могут редактировать других администраторов.
Каков наилучший способ запретить аутентифицированному пользователю без роли «admin» возможность редактировать администратора через EditUser.aspx?
Я надеюсь на что-то более элегантное, чем приведенное ниже:
if(editUser.IsInRole("admin") && !User.IsInRole("admin"))
{
Respone.Redirect("SomeAccessDeniedPage.aspx");
}
Спасибо
Phil