Windows7Ultimate上のASP.NET4.0で実行されているサイトがあります。
これはFormsAuthenticationを使用しており、小さなログオンページがあり、ログインと認証に関してはすべて問題ありません。
ただし、サブディレクトリでディレクトリ認証が上書きされても問題なく機能します。
認証されたユーザーと認証されていないユーザーの両方にincとimagesディレクトリへのアクセス権を持たせて、ログインページを適切にCSSスタイルにし、ロゴなどを上部に表示できるようにします。
さて、簡単ですよね?<location>ルートweb.configのタグによって、これらのフォルダーへの匿名アクセスを次のように許可しようとしました。
<location path="images">
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</location>
同様に、ターゲットディレクトリ内の個々のweb.configファイルも次のようになります。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow users="*,?" />
</authorization>
</system.web>
</configuration>
しかし、何らかの理由で、匿名ユーザーがこれらのディレクトリに入るのを許可していません。画像のURLの1つに直接アクセスしようとして、認証に関係していることを確認しましたが、失敗します。しかし、ログインした後、私はそれをうまく引き上げることができます。
.NET 4.0で、これが機能しないという承認に関して何か変更がありましたか?2.0と3.5のサイトでまったく同じことを問題なく実行しました。