Проверка подлинности Windows с тегами авторизации для определенных страниц ASP.NET - PullRequest
1 голос
/ 29 апреля 2011

Я занимаюсь разработкой интранет-приложения asp.net. Мы будем использовать аутентификацию Windows, поэтому режим аутентификации установлен на windows в web.config.

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

Сценарий:

Пользователю1 запрещен доступ к странице «Reports.aspx» (доступ к этой странице ограничен с помощью тега авторизации в web.config)

Пользователь2 имеет доступ к этой странице. Оба они находятся в домене MYCOMPANY.

Когда пользователь1 пытается получить доступ к этой странице, ему показывается всплывающее окно с учетными данными - он вводит данные «пользователя2», поскольку пользователю2 разрешен доступ; впоследствии user1 теперь может получить доступ к этой странице (используя данные пользователя user2).

Теперь user1 возвращается на какую-то другую страницу, которая не ограничена тегом авторизации. Допустим, он идет на домашнюю страницу. Теперь снова с домашней страницы, он попытается получить доступ к Reports.aspx. На этом этапе, логически говоря, снова должен появиться запрос учетных данных для входа. Но вместо этого всплывающее окно не появляется, и пользователю user1 разрешен доступ к странице REports.

Я решил проверить имя пользователя с помощью HTTPContext.Current.User.Identity.Name в этом сценарии. Когда пользователь1 пытается получить доступ к Reports.aspx во второй раз (после первого успешного входа в систему), его учетные данные хранятся в браузере (я полагаю), потому что в этот раз, когда страница загружается, учетные данные отображаются как User2 в коде позади.

Как предотвратить это и каждый раз вызывать запрос на вход для этой страницы?

1 Ответ

0 голосов
/ 25 февраля 2013

Думаю, я был n00b назад, когда я спросил это.

Для людей, которые могут столкнуться со сценарием - при повторном входе в систему исходные учетные данные больше не поддерживаются, и ASP.NET всегда распознает вас как пользователя 2 в дальнейшем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...