У меня есть несколько страниц или представлений в приложении, которые по сути одинаковы как для аутентифицированных, так и для анонимных пользователей.Я хотел бы ограничить действия вставки / обновления / удаления в видах форм и видах сетки только для аутентифицированных пользователей и разрешить доступ на чтение как для авторизованных, так и для анонимных пользователей.
Я использую систему конфигурации asp.net дляобработка аутентификации и ролей.Эта система ограничивает доступ в зависимости от пути, поэтому я создавал дубликаты страниц для аутентифицированных и анон-путей.
Решение, которое сразу приходит на ум, - это проверка ролей в соответствующих обработчиках событий, ограничение возможных отображаемых действий.(вставьте / обновите / удалите кнопки), а также ограничьте, какие действия выполняются (для пользователей, которые могут знать, как выполнить действие при отсутствии кнопки.) Однако это решение не устраняет дублирование - я бы дублировал безопасностькодировать ряд страниц, а не дублировать страницы и ограничивать доступ по пути;последнее было бы значительно менее сложным.
Я всегда мог создать некоторые элементы управления, которые предлагали бы конфигурацию на основе ролей, но я не думаю, что у меня есть время для такого рода обязательств прямо сейчас.
Есть ли относительно простой способ сделать это (существуют ли такие элементы управления?) Или я должен просто придерживаться доступа на основе путей и дублирующих страниц?
Имеет ли смысл даже использовать два метода авторизации?Есть еще несколько страниц, предназначенных исключительно для обеих ролей, поэтому я все равно буду использовать авторизацию на основе пути.
Наконец, использование чего-то иного, чем авторизация на основе пути, будет противоречить типичному дизайну asp.netпрактики, по крайней мере, в контексте использования системы конфигурации asp.net?