2011-01-27 18 views
0

私は、ユーザーが認証されているかどうかを確認するための基本的なチェックを実装するアクションフィルタがあります。ユーザーが認証されていない場合リダイレクトする結果リソースが見つかりません

私はこの実装しました:

 var routeValue = new RouteValueDictionary 
          {          
           {"Controller", "Permission"}, 
           {"Action", "NoAccess"} 
          }; 

     filterContext.Result = new RedirectToRouteResult(routeValue); 

     base.OnActionExecuting(filterContext); 

この作品とポイントユーザーへのOK:

ます。http:// localhostを:/許可/ NoAccessを

しかし、プロジェクトをリロードすると問題が発生し、ユーザーは次にリダイレクトされます。

http:// localhost:/Views/Permission/NoAccess.aspx

エラーが表示されます。リソースが見つかりません。

なぜそれが一度動作した後、再読み込み後に再度ブレークするのですか?任意の提案ですか?おそらく私は別の方法を使用してリダイレクトする必要がありますか?

使用してIISには、Visual Studioの2010年、MVC2

答えて

0

これは、Visual Studioの不幸な機能のように見える...

は、あなたは、Visual Studioで開き、F5キーを押しNoAccess.aspxビューを持っている場合は、表現しますVisual StudioはURL http:/localhost:11111/Views/Permission/NoAccess.aspxでInternet Explorerを開きます。このURLは従来のASP.NETアプリケーションでは機能しますが、ASP.NET MVCアプリケーションでは使用できません。これは基本的にVisual Studioのバグであり、あなたのアプリケーションではありません。

.csファイルを開き、F5キーを押すと、Visual StudioはURL http:/localhost:11111/でInternet Explorerを起動します。

があなたのプロジェクトをリロードすることを意味するものがわからないので、これはあなたの問題に当てはまるとは確信できません。しかし、それはあなたの見ているものかもしれません。

+0

ええ、私はそのVSのバグを想定しています。なぜなら、アプリが再起動できるからです。私は長い間、この質問を開いたままにしておきます。他のフィードバックがなければ、答えのポイントを教えてあげます。ありがとう – nologo

関連する問題