【发布时间】:2018-06-21 16:27:09
【问题描述】:
我有一个授权要求,确保 http 标头中的访问令牌有效:
class AccessTokenRequirement : AuthorizationHandler<AccessTokenRequirement>, IAuthorizationRequirement
{
protected async override Task HandleRequirementAsync(AuthorizationHandlerContext context, AccessTokenRequirement requirement)
{
//...
}
}
我在startup.cs类的mvc管道中添加了这个需求,如下:
services.AddAuthorization(options =>
{
options.AddPolicy("AccessToken", policy => policy.Requirements.Add(
services.BuildServiceProvider().GetRequiredService<AccessTokenRequirement>()));
});
然后我在我的信号器集线器上使用此要求,如下所示:
[Authorize(Policy = "AccessToken")]
public class MyHub : Hub
在授权要求中,我检查令牌并通过访问数据库来识别用户。我的问题是如何访问集线器方法内的用户详细信息?将信息从授权要求内部传递到我的集线器方法的优雅方法是什么? 我已经阅读了 asp.net 中的 Identity 概念,但发现它很难理解。 提前致谢。
【问题讨论】:
标签: asp.net-core-2.0 asp.net-core-signalr