2017-02-27 2 views
-1

User.Identity에서 ninject 바인딩 기반을 변경해야합니다.Ninject Alter 바인딩을 Owin.Context.User.Identy에 바인딩

나는이 시나리오를 가지고있다 : 사용자 기반 내가 자기 목적으로 사용하는 행위자 주장. 클래스 생성자에 Claims.Actor의 값을 주입해야합니다. 어떻게하면됩니까?

public class C { 
    public C (string ActorValue) { 
     // code here 
    } 
} 

감사

답변

1

내가 제대로 요구 사항을 이해 경우는 상당히 간단하다

kernel.Bind<C>().ToMethod(
      ctx => 
       { 
       // you can also do anything like HttpContext.Current.GetOwinContext() etc.. 
       var id = HttpContext.Current?.User?.Identity?.Name ?? "not found"; 
       return new C(id); 
       }); 
관련 문제