私は ASP.Net 2.0 アプリケーションに取り組んでおり、HttpContext ユーザーに関する奇妙な問題が発生しています。特定のページ/ディレクトリに移動すると、それ自体が変化しているように見えます。
すべてのページはベース ページから継承します。その基本ページの Page_Load() メソッドで、承認チェックを実行して、ユーザーがアクセスしようとしているページを表示できるかどうかを確認します。
このコードでチェックするユーザーを取得します。
GenericPrincipal objPrincipal = (GenericPrincipal)Context.User;
この珍しいディレクトリに移動すると、User の値は私ではなく、聞いたことのない別のユーザー名です。このユーザー名はこれらのページを表示する権限がないため、承認は失敗します。
この不思議なディレクトリは仮想 Webではなく、私たちの Web サイトの通常のディレクトリですが、独自の Web.Config ファイルがあることに気付きました。それがここでのトラブルの原因だと思います。
私の質問は、このディレクトリに移動したときに User 値を変更しているものを特定する際に、これをさらに調査するにはどうすればよいですか?
[編集] -- このディレクトリ内の web.config ファイルを削除または名前変更すると、ユーザーの値は変更されなくなります。ただし、以下のコメントで述べたように、そこには値がないため、単にファイルの存在に基づいて Principal.User の値がどのように変化するかわかりませんか? もちろん、私が見逃しているものでなければなりません。