3

多数の単一ページ アプリを提供する必要がある ASP.NET MVC サイトを作成しています。

シングル ページ アプリは、静的な html、css、javascript ファイル、index.html ファイルを含むフォルダー、および css、画像、javascript 用の多数のフォルダーです。

IIS サーバーの仮想ディレクトリからシングル ページ アプリを提供することに問題はありませんが、ASP.NET MVC ソリューションで認証されたユーザーにのみ提供したいので、現在 index.html ファイルを提供しようとしています。コントローラーメソッドから。

index.html ファイルをロードして提供することでこれを行うと、index.html ファイルで使用されるすべての css および javascript ファイルを提供する方法がわかりません。 /style.css」および「js/somejavascript.js」。

ASP.NET MVC ソリューションから独立して単一ページ アプリを簡単に開発およびデバッグできるように、相対パーツを使用しています。

私の質問は基本的に、css および js ファイルへの相対 URL を持つ静的 HTML ファイルを、ASP.NET MVC サイトで認証されたユーザーのみに提供するにはどうすればよいですか?

4

2 に答える 2

1

私が理解している場合:相対URLリンクを使用して、変更できない/変更したくない静的HTMLファイルがいくつかあります。その場合は、相対パスが機能するように MVC ルートを構築するだけです。たとえば、相対パスが次のようになっているとします。

js/script.js
css/style.css

それをブラウザに送り返すと、現在のパスを基準にしてこれらのパスが解決されます。したがって、ルートから HTML ファイルを提供している場合 (たとえば):

次に、ブラウザはリクエストを次の場所に送信します。

それに応じてルートを調整し、代替ルートがメインのルートにリダイレクトされるようにします。たとえば、 に/home/indexリダイレクトする必要があり/homeます。

于 2012-09-08T05:54:21.087 に答える
-2

を配置

[Authorize]

「index.html」を提供するためのコントローラーまたはアクションの属性。

デフォルトでは、スクリプトと css は公開されているため、承認は必要ありません。

于 2012-09-08T05:47:04.003 に答える