これらが本当に静的なリソース(ディスク上に存在する)である場合は、それらをフォルダーに貼り付け、web.config のlocation要素を使用してそのフォルダーを制限することができます。
<location path="MyPDFs">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
これにより、許可されていないユーザーがMyPDFs
サイト内のフォルダーにあるファイルにアクセスできなくなります。
これらのファイルのサブセットのみが必要な場合は、サブディレクトリを作成し、同様の方法で保護できます。
<location path="PDF/SecureSubDirectory">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
アップデート:
ログインが成功した場合にユーザーをリソースにリダイレクトする特定のクエリ文字列パラメーターを使用して、ユーザーをログインページにリダイレクトすることにも注意してください。
ASP.Netでフォーム認証を使用する場合、これはすべてデフォルトで処理されます
ユーザーがまだ認証されていないために失敗したリソースのリクエストは、web.configで定義された構成済みのログインページに自動的にリダイレクトされます。
<system.web>
<authentication mode="Forms">
<forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH">
</forms>
</authentication>
</system.web>
最初に要求されたリソースを参照するクエリ文字列パラメータを追加します。ユーザーが正常に認証されると、最初に要求したURLにリダイレクトされます。
これはすべてフレームワークに組み込まれています:)