gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 15:17:34 25 4
gpt4 key购买 nike

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

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

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

最佳答案

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

public class MyController : ApiController
{

private string GetUserId() {
return User.Identity.GetUserId();
}

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

关于c# - 如何在 webapi 构造函数中获取主要用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38418661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com