私は、内部セクションと外部セクションを持つ Web サイトに取り組んでいます。
両方のセクションのユーザーは異なるため、異なるログイン ページが必要です。両方のフォルダーに対して異なる認証を構成したかったのですが、ASP.Net では許可されていません。
例 (私のメインの web.config 内):
<authentication mode="Forms">
<forms loginUrl="~/Pages/Internal/Main.aspx" defaultUrl="~/Pages/Internal/Main.aspx" cookieless="UseDeviceProfile" name=".ApplicationAuthenticatedUser" path="/" protection="All" slidingExpiration="true" timeout="45"/>
</authentication>
そして、外部サブフォルダーで、設定を上書きしようとします:
<authentication mode="Forms">
<forms loginUrl="~/Pages/External/Default.aspx" defaultUrl="~/Pages/External/Default.aspx" cookieless="UseDeviceProfile" name=".ApplicationAuthenticatedUser" path="/Pages/External" protection="All" slidingExpiration="true" timeout="45"/>
</authentication>
ただし、これによりエラーが発生します。
両方をサブフォルダーに入れてみましたが、同じエラーが発生します。認証構成セクションはアプリケーションレベルで設定する必要があります (ルート web.config を意味すると思います)。
考えられる解決策は、ログイン ページを集中化し、リクエストの送信元に応じてリダイレクトすることです。外部ページから送信された場合は外部ログイン ページに送信し、それ以外の場合は内部ページに送信します。
それは機能しますが、可能であれば、web.configでこれを構成できるソリューションが欲しいです。
ありがとう