Я не могу найти хорошие примеры авторизации на основе пользователя и активности для моего веб-сайта ASP.NET. В настоящее время я использую роли пользователей в веб-конфигурации, чтобы разрешить/запретить доступ к страницам в папках. Но этот метод оказывается кошмаром для поддержания, особенно когда пользователи придумывают специальные сценарии, которые полностью отклоняются от существующих разрешений на роль.Asp.net dynamic User and activity based authorization mixed with hide show site master html
Так что я ищу способ хранения и получения прав доступа пользователей из базы данных, а затем принудительного применения их на моем веб-сайте динамически.
Моя вторая проблема заключается в том, как показать/скрыть определенный мастер сайта html от определенных пользователей. Я также думал хранить эту информацию в базе данных, чтобы эти права также были динамически распределены. В настоящее время я жесткое кодирование в моем сайте мастера-коде позади скрыть/показать разрешения, говоря:
If(isInRole("Admin"){
// Show Everything
}
else
{
// hide certain html
}
Так что этот подход работает в настоящее время, но проблематично поддерживать и не очень гибкие.
И, наконец, я рассматривал действие, основанное на авторизации, плюсы и минусы которого были хорошо описаны в этой статье: http://ryankirkman.com/2013/01/31/activity-based-authorization.html. Так как я могу реализовать это на своем веб-сайте ASP.NET?
В заключение есть три вещи, которые я после:
- Динамически управления видимостью HTML элементов в моей главной странице сайта на основе авторизации пользователя.
- Динамически контроль авторизации пользователя на мои ASPX страницы
- Динамически пользователь контроля активности авторизации на основе
Любой вход на это будет высоко оценен. Спасибо
Вы можете использовать Претензии: оно разобрано с двумя проблемами, которые у вас есть. 1. Вы можете заблокировать контроллеры на основе требований безопасности на стороне сервера 2. Вы можете положиться на механизм asp.net, чтобы загрузить его для вас. 3. Вы все равно можете делать, если блоки в HTML или главной странице. Ни в коем случае, просто используйте синтаксис Claims. – tarkil