PRISM 4でSilverlight 4アプリケーションをセットアップしました。起動時に、現在ログオンしているユーザーのActive DirectoryユーザーGUIDを取得したいアプリケーション全体でアクセス可能です。これを達成するためのベストプラクティスは何ですか?ユーザーのGUID自体を取得することは問題ありません。ありがとうございました!Silverlight 4 + Prism + WCF:ユーザー情報をグローバルに保存する
public interface ISettingsService
{
Guid ActiveDirectoryGuid { get; }
// Other settings
}
をとにインタフェースを実装するクラスのシングルトンインスタンスをinyectするプリズムを持っている:
これをWCFサービスとどのように組み合わせるかはまだわかりません。すべてのデータアクセス(SQLまたはDirectoryサービス)はWCFを通過します。 – hoetz
@Malkier:このシナリオでWCFが何をしているか説明しませんでした。通話中だけでなくクライアント上でもこのデータがWCFサービスの背後に必要ですか?その場合は、Windows認証でサービスで認証して、同じGUIDをサービスの背後で取得できるように、ユーザー情報を流すことができます。 –
私はすでにSilverlightアプリケーションでWindows認証を使用していたので、現在ログオンしているユーザーの名前がわかりました。 WCFのOperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Nameを介して、Silverlight Appの現在のユーザーを取得できます。サービス内のこの情報からUserGUIDを生成し、UserGUIDをSilverlightに戻すという計画でした。 – hoetz