Asp.net mvc 3 MVC3-访问控制器基类中的用户上下文

Asp.net mvc 3 MVC3-访问控制器基类中的用户上下文,asp.net-mvc-3,razor,Asp.net Mvc 3,Razor,我在视图中有以下代码 @User.Identity.Name 很好 自定义控制器基类中的相同代码不起作用。User对象为null public class AdminBaseController : Controller { public AdminBaseController() { string userId = User.Identity.Name; //if

我在视图中有以下代码

@User.Identity.Name
很好

自定义控制器基类中的相同代码不起作用。
User
对象为
null

public class AdminBaseController : Controller
    {
        public AdminBaseController()
        {    
            string userId = User.Identity.Name;                
             //if(!AnAdmin)
                 //redirect to UnauthorizedPage
我想用这个基类代替
System.Web.MVC.Controller
作为我所有管理屏幕的基类。这样我就可以重定向任何不是管理员的人(NTLM身份验证)

为什么是空值?我如何了解我的背景?(
HttpContext
和名为
ControllerContext
的内容也为空)


经过一些修补,控制器构造函数中的内容为空。动作方法很有效。这个问题仍然存在,但似乎我需要帮助选择替代实现。

您应该使用。也检查一下


或者您可以覆盖控制器上的初始化方法,用户对象将被初始化

我只是尝试访问控制器类中函数的“Name”属性。这不是问题,也不是空的

我的最佳猜测是,您无法在控制器的构造函数中访问此对象