0

c# .net または asp.net 4.0 の登録クライアントに基づいて URL をリダイレクトするにはどうすればよいですか。たとえば、クライアントが「client1」として登録し、Web サイトが www.mycompany.com の場合、すべてのページのクライアントは www.client1.mycompany.com を取得する必要があります。

より詳細な例:

たとえば、作成された別のクライアントは Client2 です。私が一般的に作成したページは次のようなものです

 "www.mycompany.com/product.aspx" 
 "www.mycompany.com/categories.aspx" should be shown as
 "www.client2.mycompany.com/product.aspx" and
 "www.client2.mycompany.com/categories.aspx" respectively

Web で検索したところ、静的ページを見つけたり、アプリケーションの起動時に Gloabal.asax を使用したりしましたが、ユーザーがログインした後は何も見つかりませんでした。

4

2 に答える 2

0

以前にいくつかのサイトで同様のことを行ったことがありますが、使用できる方法がいくつかあります。すべてのサブドメイン (*.url.com) が任意のユーザーをサーバーに送信するように URL を設定し、同じサイトでそれらすべてを処理するように IIS を設定していると仮定します (つまり、ホスト ヘッダーは不要で、IP のみ)。次のいずれかの方法を使用します。

  1. ログイン後、ユーザーをその URL に送信するだけです。.Net は、サーバーがそれをレンダリングする方法を知っている URL を気にしないので、それは単純なはずです。これは、すべてのナビゲーションが相対パスを使用し、そのドメインの Cookie 共有を有効にする必要があることを前提としています。これは、ログイン用の Cookie が 1.url.com で提供され、それらを 2.url.com に送信する場合に必要です。同じドメインで Cookie を共有できます。少し手間がかかりますが、実行できます。
  2. ユーザーがログインできるかどうかを確認するためにサーバーに Web サービス要求を返す汎用ログイン ページを作成します。クライアントのブラウザに、そのサイトのログイン ページに直接投稿するように指示するコマンドを正しい URL とともにブラウザに送り返すことができる場合(ユーザー名、パスワードを送信)。これにより、サイトにログインし、1 つの簡単なログイン ページからすべての Cookie を正しく割り当てることができます。この目的のためだけに存在する外部ログイン ページを作成することもできます。最終的に、一般的なページが行ったのは、ログインできるかどうかを確認し、ログインを行った正しいページに資格情報を送信することだけでした。セキュリティ上の理由から、ssl を使用して投稿することをお勧めします。

それ以来、それがうまくいくことを願っています。

于 2013-01-21T19:56:19.567 に答える
0

私が使用している UrlRewritingNet というプロジェクトがあります。これはかなり古いものですが、ソースが公開されているので、4.0 用に再コンパイルできます。

リンクはhttp://urlrewriting.net/149/en/home.htmlにあります

于 2013-01-21T21:40:20.407 に答える