2

SQLServerプロバイダーで.Netメンバーシップを使用しているASP.NetWebサイトがあるため、ユーザーとロールはAspnet_regsql.exeによって作成されたSQLテーブルに格納されます。

このアーキテクチャは完全に自己完結型で移植性がありますか、それともその中のユーザーは、アカウントを作成する特定のWebサイトに何らかの形でバインドされていますか?

言い換えると、devまたはUATで多数のユーザーを作成する場合、このデータベースをバックアップして、別のドメイン名でアクセスされる別のサーバーに復元しますが、それでも問題なく機能するでしょうか。

データベースを移動すると、ユーザーがグループの所属を失うなどの奇妙な動作が見られます。このデータベースが実際にどれほど移植性があり、環境に依存しないのか興味があります。何かがマシンキーまたはドメインにバインドされているのではないかとこっそり疑っています。

4

2 に答える 2

0

ユーザーはアプリケーション名にバインドされます。これをチェックして、各ユーザーがリンクされているアプリケーション名が、運用サーバーのweb.configのアプリケーション名に対応しているかどうかを確認できます。

それとは別に、メンバーシップを別のデータベースに移植するときは、テーブルだけでなくすべてのストアドプロシージャも取得していることを確認する必要があります。何らかの理由でデータベーススキーマを移植するだけの場合は、移植する前にAspnet_regsql.exeを実行する必要があります。

于 2010-04-23T13:57:37.210 に答える
0

はい、正常に動作するはずです。

注意が必要なのはパスワード管理だけです。.Netメンバーシッププロバイダーは、マシン固有のキーを使用してパスワードを暗号化またはハッシュ化する場合があります。ただし、自動生成されたマシン固有のキーではなく、特定のマシンキーを使用するようにasp.netアプリケーションに指示する回避策があります。

私のアプリケーションでは、パスワードを暗号化したままにし、暗号化/復号化のために以下のようにマシンキーを指定しました。これを行うと、開発データベースを本番サーバーに移植したり、データベースをある本番サーバーから別の本番サーバーに非常に簡単に移行したりできます。

  <machineKey validationKey="<your-validation-key>" decryptionKey="<your-decryption-key>" validation="SHA1"/>

MembershipProvidersを使用している間、移行に関して心配する必要があることは他にありません。

于 2010-04-23T14:07:13.677 に答える