.net core 具有授权属性的热巧克力,如何获取当前登录的用户?

.net core 具有授权属性的热巧克力,如何获取当前登录的用户?,.net-core,graphql,hotchocolate,.net Core,Graphql,Hotchocolate,我在HotChocolate.AspNetCore.Authorization中使用带有[Authorize]属性的HotChocolate实现了GraphQL变异,以在我的GraphQL端点上强制执行授权 这很好,我只能在以管理员身份登录后调用该变异 。。。但是现在我想检索被授权的用户,但是我似乎没有找到一种方法来实现它 [ExtendObjectType(Name = "Mutation")] [Authorize(Roles = new[] { "Admini

我在
HotChocolate.AspNetCore.Authorization
中使用带有
[Authorize]
属性的HotChocolate实现了GraphQL变异,以在我的GraphQL端点上强制执行授权

这很好,我只能在以管理员身份登录后调用该变异

。。。但是现在我想检索被授权的用户,但是我似乎没有找到一种方法来实现它

[ExtendObjectType(Name = "Mutation")]
[Authorize(Roles = new[] { "Administrators" })]
public class MyMutations
{
    public bool SomeMethod()
    {
        // In a regular Web API controller, you can do User.Identity.Name to fetch the user name of the current user.  What is the equivalent in Hot Chocolate?
        var userName = "";


        return false;
    }
}

有什么想法吗?

热巧克力使用asp.net核心身份验证机制,因此您可以让用户使用HttpContext

[ExtendObjectType(Name=“Mutation”)]
[授权(角色=新[]{“管理员”}]
公共类MyButton
{
public bool SomeMethod([Service]IHttpContextAccessor contextAccessor)
{
var user=contextAccessor.HttpContext.user;//有您的用户
//在常规Web API控制器中,您可以执行User.Identity.Name来获取当前用户的用户名。热巧克力中的等效项是什么?
var userName=“”;
返回false;
}
}

我会被诅咒的。我以为会是这样,但实际上我只是没有尝试。傻我:)谢谢!