Вы проверяете права доступа пользователя на основе некоторых просмотренных записей и создаете меню для этого пользователя.
Следующее, кажется, подходит ....
- IIS выполняет роль идентификации пользователя для приложения на основе аутентификации.
- IIS идентифицирует пользователя как ИЗВЕСТНОГО пользователя или НЕИЗВЕСТНОГО пользователя.
- Если компьютер IIS находится в домене, в число ИЗВЕСТНЫХ пользователей будут входить учетные записи DOMAIN и LOCAL.
Технически, для вашего веб-приложения нет разницы между локальным и пользователем DOMAIN. (если нет других деталей, не упомянутых). Вы можете проверить правильность работы, определив локального пользователя (или пользователя домена) для каждого теста и протестировав каждого пользователя. Это может быть проще для тестирования с локальными пользователями.
Чтобы идентифицировать пользователя, перешлите ваши учетные данные в URL:
http://username:password@hostname/website
Обратите внимание, что обновления безопасности убили эту функцию в IE с 832894.
По данным МС:
По умолчанию версии Windows Internet Explorer, выпущенные начиная с выпуска обновления безопасности 832894, не поддерживают обработку имен пользователей и паролей в HTTP и HTTP с URL-адресами Secure Sockets Layer (SSL) или HTTPS. Следующий синтаксис URL не поддерживается в Internet Explorer или Windows Explorer:
HTTP (s): // имя пользователя: password@server/resource.ext
Если вы состоите в браке с IE, вам, возможно, придется инициировать с RUNAS (как упомянуто выше) и включить автоматическую аутентификацию.
Если вы используете FF или OPERA, то все в порядке, если вы настраиваете безопасность каталога веб-сайта IIS, чтобы разрешить «обычную аутентификацию».