nina4ever Ответов: 2

Пользовательская аутентификация для ограничения доступа к страницам веб-приложений интрасети


у меня есть asp.net веб-приложение в интрасети.
в базе данных a есть таблица с информацией о пользователях приложения:
Имя пользователя Windows , роль.... и другие вещи

при запуске сеанса я читаю вошедшего в систему пользователя Windows и получаю его информацию от пользователей приложения в базе данных. я сохраняю полученную информацию в переменной сеанса

если я хочу ограничить доступ к веб-страницам на основе информации пользователя,
таким образом, если пользователь Windows не существует в таблице пользователей приложения, я хочу запретить доступ к странице. Как лучше всего это сделать?

заранее спасибо

Что я уже пробовал:

я попытался изучить информацию о пользователе, сохраненную в переменной сеанса на каждом из них ЗАГРУЗКА СТРАНИЦ .. или на ЗАГРУЗКА ГЛАВНОЙ СТРАНИЦЫ ....

но я не знаю, что такое лучшая практика

2 Ответов

Рейтинг:
2

Dave Kreskowiak

Забудьте о написании кода для него и просто купите готовый продукт брандмауэра / прокси-сервера. Это стандартная функциональность.

Прежде чем вы уйдете и скажете: "Это слишком дорого!", подумайте об этом. Сколько вам платят в час за написание этого проекта? Как долго вы собираетесь его писать? Умножьте два, и это будет минимальная стоимость вашего маленького проекта. Сравните это с готовыми затратами, и вы обнаружите, что ваш проект будет стоить дороже.


Рейтинг:
15

ZurdoDev

Один простой способ состоит в том, чтобы каждая страница наследовалась от базового класса, который выполняет проверку безопасности в своей Page_Load. Если вы слишком далеко зашли в этом вопросе, чтобы перейти к базовому классу, вы всегда можете добавить вызов в каждую загрузку страницы, чтобы проверить, есть ли у них доступ к этой странице.

Вы также можете использовать элементы Location в вашем web.config, если есть только несколько страниц, которые будут нуждаться в разных уровнях доступа.

Эта статья рассматривает различные сценарии и должна помочь вам. Блог гуру Саркара-настройка правил авторизации для конкретной страницы или папки в web. config[^]

Также видеть, Как управлять разрешениями авторизации в ASP.NET применение[^]