首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有Authorize属性的HotChocolate,如何获取当前登录的用户?

带有Authorize属性的HotChocolate,如何获取当前登录的用户?
EN

Stack Overflow用户
提问于 2021-02-12 02:47:58
回答 1查看 1.1K关注 0票数 2

我使用带有来自HotChocolate.AspNetCore.Authorization[Authorize]属性的HotChocolate实现了GraphQL突变,以在我的GraphQL端点上强制授权。

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

..。但是现在我想检索授权的用户,但是我似乎找不到这样做的方法。

代码语言:javascript
复制
[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;
    }
}

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-12 03:56:31

HotChocolate使用asp.net核心身份验证机制,因此您可以使用HttpContext获取用户。

代码语言:javascript
复制
[ExtendObjectType(Name = "Mutation")]
[Authorize(Roles = new[] { "Administrators" })]
public class MyMutations
{
    public bool SomeMethod([Service] IHttpContextAccessor contextAccessor)
    {
        var user = contextAccessor.HttpContext.User; // <-> There is your user

        // 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;
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66160935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档