SL4ビジネスアプリケーションでカスタムMembershipProvider
(SqlではなくEFを使用)を使用しています。Silverlight 4 Business Applicationで現在のユーザーの電子メールを取得するにはどうすればよいですか?
MembershipUser
クラスのデフォルトの実装は、しかし、あなたは電子メールのプロパティにはアクセスできません(UserBase
から継承)SL4ビジネスアプリケーションテンプレートで定義されたUser
オブジェクトを電子メールアドレスのプロパティがあります。
さらに、AuthenticationService
(AuthenticationBase<User>
から継承)でもユーザーの電子メールを読み取ろうとしないとき。
AuthenticationServiceを使用してMembershipUser(サーバー側)/ User(クライアント側)のEmailプロパティにアクセスする方法はありますか、ユーザーの正しいプロパティを返すように独自のルーチンを作成する必要はありますか?
おかげで、
マーティン
それに伴う問題は、 'AuthenticationBaseが' 'すでにログイン()'メソッドを実装していますが、それは 'IAuthentication 'インタフェースで宣言されているため、それを仮想として宣言されていないということです。新しい演算子を使用してそれを隠すことはできますか? 'public user login(string userName、string password、bool isPersistent、string customData)'のように? –
bleepzter
さて、私はこれを試したところ、うまくいかなかった。ベースのDomainServiceクラスのメソッドを非表示にすることはできません。したがって、ここの答えは少し異なります。電子メールをWeb.configのプロファイルプロパティとして追加し、自動プロパティとしてUserオブジェクトに追加し、最終的に 'AuthenticationBase'の 'protected override void UpdateUserCore(User user)'メソッドをオーバーライドして更新しますメンバーシップユーザーの電子メール。 –
bleepzter
ログインを実装する必要はありませんか?それは問題ですか?私はIpAddressを使ってUserを実装するために投稿したソリューションを使用して、クライアントで利用できるようにします。 –