在控制器的构造函数中获取用户名?

时间:2010-02-04 08:19:10

标签: asp.net-mvc

我有一个控制器,可以根据登录的当前用户获取数据。我想分配一个这样的局部变量:

    public UsergroupsCustAdminController()
    {

        User u = _us.GetUsers(HttpContext.User.Identity.Name).First();

        this._customerID = u.CustomerID;
    }

不知何故,我无法获得当前用户登录的价值。我该如何解决这个问题?我需要在我的控制器类中的许多地方使用“CustomerID”。

/ M

2 个答案:

答案 0 :(得分:9)

你试图过早挂钩。建议你覆盖OnActionExecuting并将此代码放在那里,如下所示:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    User u = _us.GetUsers(HttpContext.User.Identity.Name).First();
    this._customerID = u.CustomerID;
}

答案 1 :(得分:-2)