Asp.Net Core Web API,JWT仍然有效,每个请求具有不同的数据库

时间:2019-02-07 15:30:05

标签: asp.net-core jwt

我正在使用带有JWT的asp.net核心进行基于声明的授权,每个对API的请求都带有一些密钥,该密钥告诉我该请求与哪个数据库名称相关联,所有数据库都具有相同的架构,用户可能是在一个或多个数据库中。

我的用例:

  1. 通过数据库1(用户A存在于数据库1中)访问API来生成登录令牌。
  2. 使用同一用户的令牌再次访问API,但这一次是通过数据库2,(用户A在数据库2中不存在),但是由于他的令牌具有必需的声明,他仍然能够访问API。 / li>

这是我根据请求更改连接字符串的方式

            services.AddDbContext<AppDbContext>((serviceProvider, options) =>
        {
            var httpContext = serviceProvider.GetService<IHttpContextAccessor>().HttpContext;
            if (httpContext != null)
                //options.UseSqlServer("newConStr");
        }

我如何确保用户属于当前数据库,而不必进行手动检查。

0 个答案:

没有答案