2011-02-15 10 views
1

PRISM 4でSilverlight 4アプリケーションをセットアップしました。起動時に、現在ログオンしているユーザーのActive DirectoryユーザーGUIDを取得したいアプリケーション全体でアクセス可能です。これを達成するためのベストプラクティスは何ですか?ユーザーのGUID自体を取得することは問題ありません。ありがとうございました!Silverlight 4 + Prism + WCF:ユーザー情報をグローバルに保存する

public interface ISettingsService 
{ 
    Guid ActiveDirectoryGuid { get; } 

    // Other settings 
} 

をとにインタフェースを実装するクラスのシングルトンインスタンスをinyectするプリズムを持っている:

答えて

1

あり、多くの点、私は例えば、あなたの設定のプロパティを持つサービス・インターフェースを作成することをお勧めしたいですあなたが設定が必要な場所。

+0

これをWCFサービスとどのように組み合わせるかはまだわかりません。すべてのデータアクセス(SQLまたはDirectoryサービス)はWCFを通過します。 – hoetz

+0

@Malkier:このシナリオでWCFが何をしているか説明しませんでした。通話中だけでなくクライアント上でもこのデータがWCFサービスの背後に必要ですか?その場合は、Windows認証でサービスで認証して、同じGUIDをサービスの背後で取得できるように、ユーザー情報を流すことができます。 –

+0

私はすでにSilverlightアプリケーションでWindows認証を使用していたので、現在ログオンしているユーザーの名前がわかりました。 WCFのOperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Nameを介して、Silverlight Appの現在のユーザーを取得できます。サービス内のこの情報からUserGUIDを生成し、UserGUIDをSilverlightに戻すという計画でした。 – hoetz

0

あなたは、クライアント側のセキュリティについてあまり心配していないなら、あなたはIsolatedStorageに情報を格納し、WCFにそれを渡すか、あなたはどこでもあなたのWCFサービスの情報にアクセスしたい場合はシルバー

でそれを使用することができます。次に、Active Directoryストアに対してユーザーを認証するMembershipProviderを使用することをお勧めします。OperationContext

関連する問題