1

マルチテナントアプリケーションでasp.Netメンバーシップを使用するにはどうすればよいですか。

例を見てみましょう。多くのユーザーがいるCRMアプリケーションがあり、それらのユーザーには複数の顧客がいます。

この場合、私の単一の.NetメンバーシップDBが、他の多くのアプリケーションの認証/承認にどのように役立つかを説明します。

注意:テナントごとにアプリケーションバイナリのコピーをいくつか保持する予定です。これらはすべて、aspnet_applicationsの一意のApplicationIdを使用して単一のCRMDBに接続します。

4

1 に答える 1

0

SimpleMembershipは、Entity Framework コード ファースト モデルを使用します。Models\AccountModels.csに移動し、 UserProfileを次のように変更することで、ユーザー プロファイルを拡張できます。

[Table("UserProfile")]
public class UserProfile
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public int ApplicationId { get; set; }
}

この例では、プロパティApplicationIdを追加して、ユーザーを他のテーブルまたはデータベース内の特定のアプリケーションにリンクできるようにしました。1 対多の関係を設定する場合は、UserIdを他のテーブルに追加して、特定のユーザーにリンクすることができます。

UserProfile クラスに変更を加えた場合、変更を有効にするために、SimpleMembership によって作成された既存のデータベースを削除する必要があります。

于 2013-01-22T13:34:28.367 に答える