2012-03-13 14 views
3

新しいasp.net mvcプロジェクトでメンバーシッププロバイダを使用し始めました。メンバーシップモデルはデフォルトモデルとはまったく異なりますが、自分の好みに合わせてカスタマイズすることができます。それは私がやっているすべてのためのカスタム実装を作成しているが、それは縫い目があります。カスタムメンバーシッププロバイダまたはロールは私自身の実装

私のモデルには、ユーザーエンティティと顧客エンティティの2種類(同じベースから継承)があります。

public class Customer 
{ 
    /* properties go here */ 

    // users linked with this customer 
    public virtual IList<TypeOneUser> TypeOneUsers { get; set; } 
    public virtual IList<TypeTwoUser> TypeTwoUsers { get; set; } 
} 

public abstract class User 
{ 
    /* user properties go here */ 
} 

public class TypeOneUser: User 
{ 
    public virtual IList<Customer> Customers { get; set; } 
} 

public class TypeTwoUser: User 
{ 
    public virtual Customer Customer { get; set; } 
} 

私は現在、顧客リポジトリとユーザーリポジトリを実装し、メンバーシッププロバイダを廃止することを検討しています。だから私の質問は、メンバーシップ・モデルをメンバーシップ・プロバイダに実装するための直接的な方法があるのでしょうか?現時点では、ユーザークラスは主にカスタムメンバーシッププロバイダーで実装されていますが、Customerエンティティーをメンバーシッププロバイダーと統合する方法がわかりません。

また、私はので、私は関係なく、私のアプローチの私自身の永続性のコードを書いている流暢NHibernateはを使用しています。

+0

私は今同じ船に乗っています。カスタムMembershipProviderを実装しようとするのではなく、自分のメンバーシップサービスの役割を果たす方が簡単に思えるようです。 – blachniet

+0

それが私のやり方です。私自身のメンバーシップサービスが今働いており、現在、自分の役割サービスを実装しています。これは、認証クラスと簡単に統合するように見えます。 –

+0

私は私のプロジェクトの初めにあきらめました。私はたくさんの実装があると思っていましたので、私は私の計画なしでスタンダードプロバイダを使用しています。私はあなたが知っている締め切りを持っています。しかし、私はこのトピックに非常に興味があります。もし誰かが質の高い答えをくれば、私は感謝します。 – oruchreis

答えて

2

あなたはcustom membership providerを作成する上で、私のブログの記事を見てみることができます。そこには例がありますが、Linq-to-Sqlを使用していますが、モデルを使用してデータベース内のデータを永続化する方法についてはかなり良いアイデアを与えることができます。

関連する問題