如何在webapi构造函数中获取主要用户?

时间:2016-07-17 06:51:34

标签: c# asp.net authentication asp.net-web-api asp.net-web-api2

为了简化asp.net webapi控制器,最好使用Principal对象(经过身份验证的用户对象)作为应在控制器构造函数中设置的属性或变量。但是User在构造函数中为null。如何在控制器构造函数中获取当前用户?

public class MyController : ApiController
{
    string userId;
    public MyController()
    {
        userId = User.Identity.GetUserId();
    }

    public IEnumerable<string> Get()
    {
        var userName = GetUserNameById(userId);
        return new string[] { userName };
    }
}

1 个答案:

答案 0 :(得分:0)

创建控制器后,用户分配得很好。您将无法在构造函数中访问它。相反,在请求和关联用户已分配给控制器后,您应该直接在操作中获取用户ID。

Enable