ルートアプリケーションから仮想ディレクトリで実行されているサブアプリケーションにフォーム認証を共有しようとしています。サブサイトでの認証に問題があります。
親アプリケーションでは、すべてが期待どおりに機能します。
私は次の設定をしています:
親アプリケーション:
- URL:
http://localhost:1336/
<forms loginUrl="~/account/sign-in" protection="All" timeout="30" name=".MYAPPLICATION" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="true" defaultUrl="/" />
仮想ディレクトリ:
- URL:
http://localhost:1336/subsite
<forms loginUrl="/account/sign-in" protection="All" timeout="30" name=".MYAPPLICATION" path="/" requireSSL="false" slidingExpiration="true" cookieless="UseDeviceProfile" enableCrossAppRedirects="true" defaultUrl="/" />
しようとするhttp://localhost:1336/subsite
と、次のフローが表示されます。
- GET for-
http://localhost:1336/subsite
> 302 to / account / sign-in?ReturnUrl =%2fsubsite (looks ok) - ユーザー/パスワードを入力してください
- POST to-
http://localhost:1336/account/sign-in?ReturnUrl=%2fsubsite
> 302 / subsite (認証が成功したように見えます) - GET for-
http://localhost:1336/subsite
> 302 to / account / sign-in?ReturnUrl =%2fsubsite (つまり、サブサイトは認証されているとは見なしません)
また、ブラウザのリストにCookieが表示されます(実際にはそこにあります)
サブサイトが親Cookieを共有するのを妨げる構成のどこが間違っていますか?
私はIISExpressでこれを実行しています