1

Visual Web Developer Express を使用して (一時的に) 1.0 リリースを使用して ASP.NET MVC アプリケーションを構築しています。サイトのセキュリティを処理するために、SqlMembership Provider とフォーム認証を使用しています。私のサイトのセキュリティでは、ユーザーは何かを見る前にログインする必要があります。ログイン ページ自体を除いて、匿名のユーザー ページはありません。

global.asax.cs のルートを次のように変更しました。

    routes.MapRoute(
        "Default",                                              // Route name
        "{controller}/{action}/{id}",                           // URL with parameters
        new { controller = "Patients", action = "Search", id = "" }  // Parameter defaults
    );

ローカル IIS (Windows XP) でアプリを公開し、次のように仮想ディレクトリにアクセスしました: http://mymachinename/App/。期待どおり、ログイン (アカウント/ログイン) ページに誘導されます。しかし、新しいユーザー アカウントを使用して正常にログインした後、Patients/Search ではなく Home/Index にリダイレクトされます。ホーム コントローラーとインデックス ビューは、まだ削除していないため、両方ともアプリ内に存在します (アプリの最初のページとしてホーム ページを表示することを決定する場合があります)。

プロジェクトから Home コントローラーと関連するビューを削除しようとしています。これは、最初からクリーン パブリッシュを行い、Web サーバーを再起動し、ブラウザー キャッシュをクリアするなど、他にも多くのことを試したからです。しかし、global.asax.cs や web.config など、どのプロジェクト ファイルにも Home/Index への他の参照が見つからないため、なぜこれが発生するのか興味があります。誰にもアイデアはありますか?

ありがとう。

4

1 に答える 1

0

Home/Index が web.config で defaultUrl として定義されている可能性はありますか?

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="2880" 
        defaultUrl="~/Home/Index" />
</authentication>
于 2009-04-24T15:30:37.267 に答える