2017-02-27 43 views
-1

我需要根据User.Identity更改ninject绑定。Ninject Alter绑定基于Owin.Context.User.Identy

我有这种情况: 基于用户Actor声明,我用于我自己的目的。 我必须在我的类构造函数中注入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); 
       });