背景:
MVC3 Intranet 应用程序使用 windows 身份验证。windows 身份验证完成后,HttpModule 从 HR 数据库中查找用户的网络 ID,并返回用户的员工信息并将其设置为HttpContext.Items
. 我有一个基本控制器,它查找此信息并通过覆盖 OnActionExecuting 设置 ViewBag 属性。
我的问题是,HttpContext.Items["UserInfo"]
尽管 HomeController 继承了 BaseController,但这些信息似乎仅在 Home/Index 上可用,而当我单击 Home/About 或 Home/Help 时不可用。任何人都可以阐明为什么会这样吗?
protected override void OnActionExecuting(ActionExecutingContext ctx)
{
if (this.HttpContext.Items["UserInfo"] != null)
{
UserInfo User = (UserInfo)this.HttpContext.Items["UserInfo"];
ViewBag.CurrentUser = User;
}
base.OnActionExecuting(ctx);
}