2011-01-06 14 views
0

解決策に2つのasp.net mvc2プロジェクトがあります。 1つは訪問者用の通常のサイトで、もう1つは管理者のバックエンドで、test.comやadmin.test.comなどのサブドメインで区切られています。このシナリオでは、管理者が画像とともに新しい商品(商品など)を追加し、test.comがその画像を使用して商品を表示するようなシナリオがあります。両方のアプリケーションが1つのdbを共有しています。 dbから来ている項目の詳細を取得するのに問題はありません。 adminディレクトリ(admin.test.com)にアップロードされているアイテムイメージの場合 - 一般ドメイン(test.com)から表示する方法 また、画像ファイルやcssやjsファイルなどのリソースをサイト間で分けるための最良の方法とそのアクセス方法について教えてください。asp.net mvcでのリソース共有

p.s.共有ホスティングを使用しています。

ありがとうございます!

+0

test.comサイトのフォルダにアップロードを保存しないのはなぜですか?それは私にとって論理的な答えです。 – Lazarus

+0

bcozの要件は、リソースが他の場所にとどまっていなければならないということです!クレイジー...私は知っている。 – Iternity

答えて

0

第3のサブドメインまたはフロントエンドドメインにアップロードできます。 物理フォルダにアップロードします。このフォルダにはappSetting値などがあります。

だから、あなたは、web.configファイルののappSettingsと同様の設定を取得:

<add key="ProductImagesPhysicalFolder" value="x:\websites\frontend\product-images" /> 
<add key="ProductImagesFolderUrl" value="http://frontend.com/product-images" /> 

物理フォルダへのアップロード、およびヘルパーを持っている(そのフォルダへの書き込みアクセスを許可するようにISSにあなたのセットアップのアクセス許可を与えられました)メソッドGetProductImageUrl(string imageFilename)のように、ファイル名を指定してイメージのURLを取得します(DBに保存されます)。

+0

第3のサブドメインは興味深いように聞こえる。ファイルへのアクセスに問題はありません。しかし、最高のセキュリティアプローチを念頭に置いて、第3のサブドメインにアップロードする方法についてもう少し説明してください。 – Iternity

+0

3つ目のサブドメインを使用するかどうか(リクエストしてから多くの製品イメージがある場合にのみパフォーマンスに役立ちます)、またはフロントエンドサイトを直接投稿すると、手順は同じです。 – Meligy

+0

管理サイトのアプリケーションプールのWindowsユーザーを作成し、そのユーザーに画像フォルダへのフルアクセス権を与えます。パブリックフロントエンドサイトは、そのフォルダに対する読み取りアクセスのみを持つことができます。これは十分に安全でなければなりません。 – Meligy

関連する問題