私は、現在の認証済みユーザーに基づいて、構築中のIPrinciple
オブジェクトを設定する必要があるクラスを持っています。どうやら_principal
がに設定されていない/未定義である現在の認証済みユーザーを注入するシンプルインジェクターを設定します
container.Register(() => new Lazy<IPrincipal>(() => HttpContext.Current.User));
:
は、私が試したいくつかの他のコードを見つけたが、それはうまくいきませんでした:private readonly Lazy<IPrincipal> _principal;
public MyService(Lazy<IPrincipal> principal)
{
_principal = principal;
}
をそして私はシンプルインジェクタそうのように構成しました私がこれを実行しようとするとオブジェクトのインスタンス。
私も試してみました:
container.Register(() => new Lazy<IPrincipal>(() => Thread.CurrentPrincipal));
は、これは私が_principal.Value.Identity.IsAuthenticated
をチェックすることができますが、常にfalse
を返していました。