Я работаю над приложением ASP.Net 2.0, и у меня возникла странная проблема, связанная с пользователем HttpContext. Кажется, он меняется сам по себе, когда я захожу на определенную страницу / каталог.
Все наши страницы наследуются от базовой страницы. В методе Page_Load () этой базовой страницы мы запускаем проверку авторизации, чтобы увидеть, сможет ли пользователь увидеть страницу, на которую он собирается.
Мы получаем пользователя для проверки с помощью этого кода:
GenericPrincipal objPrincipal = (GenericPrincipal)Context.User;
Когда я захожу в этот необычный каталог, значение пользователя - это не я, а другое имя пользователя, о котором я никогда не слышал. Это имя пользователя не авторизовано для просмотра этих страниц, поэтому авторизация не удалась.
Этот загадочный каталог не является виртуальным веб-сайтом, это просто обычный каталог на нашем веб-сайте, однако Я заметил, что у него есть собственный файл Web.Config. Я предполагаю, что это является причиной проблемы здесь.
У меня вопрос, как я могу исследовать это дальше, определяя, что меняет значение User, когда я захожу в этот каталог?
[edit] - когда я удаляю или переименовываю файл web.config в этом каталоге, значение User больше не изменяется. Однако, как уже упоминалось в комментарии ниже, в нем нет значения, поэтому я не уверен, как значение Principal.User может измениться просто из-за наличия файла? Должно быть, я чего-то упускаю, конечно.