2009-04-24 23 views
1

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

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/を次のように私が変更されている

は私のglobal.asax.csにルートを変更しました。私は期待どおりにログイン(アカウント/ログイン)ページに移動します。ただし、新しいユーザーアカウントを使用してログインすると、患者/検索ではなくホーム/インデックスにリダイレクトされます。ホームコントローラとインデックスビューはまだ削除されていないため、アプリにはまだ存在しています(ホームページをアプリの最初のページとして表示することがあります)。

ホームコントローラーと関連付けられたビューをプロジェクトから削除しようとしています。これは、クリーンパブリッシュ、Webサーバーの再起動、ブラウザーキャッシュのクリアなど、さまざまなことを試しています。しかし、global.asax.csやweb.configなどのプロジェクトファイルでHome/Indexを参照することができないので、なぜこれが起こるのか不思議です。誰にもアイデアはありますか?

ありがとうございました。

+0

Global.asax.csにはいくつのルートがありますか? – rguerreiro

答えて

0

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

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/LogOn" timeout="2880" 
     defaultUrl="~/Home/Index" /> 
</authentication> 
+0

ありがとう、カガダ、あなたは私を正しい道に乗せた。 defaultUrlが指定されていない間、プロジェクトが作成されたときに生成されたアカウントコントローラのログオフアクションにRedirectToAction( "Index"、 "Home")が含まれていました。私は、管理者としてログインし、私の管理インターフェイスを介してユーザーを作成してからログアウトした後、新しいユーザーとしてログインしようとしていたに違いありません。したがって、ログイン画面は/ Home/Indexにリダイレクトされるように設定されていました。私はコントローラをチェックするとは思わなかった。ありがとう! –

+0

ああ、私はまた、コントローラのチェックを提案する必要があります。私はあなたがそれを理解してうれしいです。 –

関連する問題