【发布时间】:2016-05-25 14:51:34
【问题描述】:
我有一个类需要在构造时根据当前经过身份验证的用户设置IPrinciple 对象。
我发现了一些我尝试过的其他代码,但它不起作用:
private readonly Lazy<IPrincipal> _principal;
public MyService(Lazy<IPrincipal> principal)
{
_principal = principal;
}
我像这样配置了 Simple Injector:
container.Register(() => new Lazy<IPrincipal>(() => HttpContext.Current.User));
当我尝试运行它时,显然_principal 未定义/未设置为对象的实例。
我也试过了:
container.Register(() => new Lazy<IPrincipal>(() => Thread.CurrentPrincipal));
这让我可以检查_principal.Value.Identity.IsAuthenticated,但总是返回false。
【问题讨论】:
标签: c# .net asp.net-mvc dependency-injection simple-injector