2011-10-10 42 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'屬性。這不是一個問題,它不是空的。

我最好的猜測是你不能在控制器的構造函數中訪問這個對象。