2011-10-10 43 views
2

访问用户上下文我有一个视图MVC3 - 在Controller基类

@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是空太)


一些修修补补后,东西都在控制器构造空。行动方法工作正常。问题依然存在,但似乎我需要帮助选择一个替代实现。

回答

0

我只是试图访问控制器类中的函数中的'Name'属性。这不是一个问题,它不是空的。

我最好的猜测是你不能在控制器的构造函数中访问这个对象。