2

asp.net mvc でサブドメインを持つ Web サイトを作成しようとしています。しかし、これを行う方法がわかりません。Visual Studio でこの新しいソリューションをセットアップする場合、サブドメインごとに異なるプロジェクトを用意するのが最適ですか?それとも 1 つのプロジェクトを用意するのが最適ですか? これには明らかに、他のサブドメインに影響を与えずに 1 つのサブドメインに更新を公開するなど、いくつかの直接的な利点があります。仕様は次のとおりです。

1) 多くのアプリケーションがあり、それぞれに独自のサブドメイン (App1、App2、App3 など) があります。ユーザーはログイン ページを使用してメイン ドメインからログインし、この認証がアプリケーションに渡されます。

2) ユーザーを認証し、認証をサブドメインに渡すためにドメインが必要です。サブドメインは、認証されたユーザーへのアクセスのみを許可します。ASP.NET では、認証をサブドメインに渡すことができます。私が知る必要があるのは、認証がこの方法で渡されていることをサブドメインが認識できるようにプロジェクトを設定する方法です。

3) サブドメインルートをたどることにしました。

http://App1.domain.com/ http://App12.domain.com/

4)再利用可能なコードについても考えています。3 つの異なるサブドメインでマスターページ、ユーザー コントロールなどを共有する方法はありますか?

4

2 に答える 2

2

個別のWebアプリケーションと、それぞれのweb.configで、domainプロパティをトップレベルドメインに設定します。

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" domain="domain.com" />
</authentication>

このように、ユーザーがアプリケーションの1つで認証を行うと、認証Cookieにドメインプロパティが含まれ、このドメインおよびサブドメイン内の他のアプリケーションに送信され、ユーザーは他のアプリケーションでも自動的に認証されます。

于 2011-09-23T06:16:05.493 に答える
1

数日前に同様の状況について考えました。「オンザフライサブドメイン登録」を行うための2つのオプションを見つけました

  1. ルートドメインが登録されると、サブドメインの登録に時間がかかりません。
  2. URLを書き換えます

ケース1の場合、*。mydomain.comをWebサーバー(IIS)に転送し、IIS管理APIを使用して、myuser.mydomain.comをwww.mydomain.com/myuser/などの物理パスにリダイレクトします。

ケース2の場合、www.mydomain.com / myuser/*をmyuser.mydomain.com/*に書き換えるだけです。

認証は問題ではないはずです。私はフィルターなどを使用します。

于 2011-09-23T06:23:15.743 に答える