I have seen the following two example for injecting the User IPrincipal:
Method 1:
kernel.Bind<IPrincipal>()
.ToMethod(context => context.Kernel.Get<RequestContext>().HttpContext.User)
.InRequestScope();
Method 2:
kernel.Bind<IPrincipal>()
.ToMethod(context => HttpContext.Current.User)
.InRequestScope();
Is there any difference in the two? Is one preferred?
The two methods are identical. Both are going to return the HttpContext obect for the current HTTP Request.