IISでASP.NETMVC3ベータ版アプリケーションを実行しています。私のweb.config
中で、フォーム認証を担当する次のセクションを定義しました。
<authentication mode="Forms">
<forms
loginUrl="~/Account/LogOn"
name=".VNK"
protection="All"
timeout="43200"
cookieless="UseCookies" />
</authentication>
定義されたログインアドレスは~/Account/LogOn
です。
以下を使用してログインURLを取得しようとすると、
FormsAuthentication.Initialize();
string loginUrl = FormsAuthentication.LoginUrl;
私は受け取ります:/VNK/site/Account/Login
で定義されているアドレスとは異なるアドレスを取得するのはなぜweb.config
ですか?
更新:「/ VNK /site/」プレフィックスはここでは問題ではありません。問題は、クラスLoginUrl
のプロパティがFormsAuthentication
web.configの値を反映していないことです。これは、web.configの属性の値をloginUrl
「〜/ Account / LogOn」から「〜/ foobar」などに変更しFormsAuthentication.LoginUrl
ても、「/ VNK / site / Account/Login」の値が残っていることを意味します。なんで ?