我在ASP.Net内核中有一个应用程序,分为3个项目(API、data、services)。API包含将在服务项目中调用方法的控制器(这是我处理数据的地方)。
现在我正在使用ASP提供的身份验证系统,所以我在启动方法中添加了这些行。
services.AddIdentity<IdentityUser,IdentityRole>().AddEntityFrameworkStores<RHPDbContext>();
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
}).AddJwtBearer(options =>
{
options.SaveToken = true;
options.RequireHttpsMetadata = false;
options.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
{
ValidateIssuer = true,
ValidateAudience = true,
ValidAudience = "RHP User",
ValidIssuer = "MYIssuer",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("MyRHPSuperKey"))
};
});因为我正在制作一个API,所以我需要基于令牌的身份验证。
并在启动时将该行添加到配置方法中。
app.UseAuthentication();我现在的问题是如何访问服务项目中的userManager,以便向users...etc添加用户或获取用户属性角色。
发布于 2019-12-25 22:46:00
下面是在控制器类中访问userManager的方法。
public AccountController(UserManager<IdentityUser> userManager)
https://stackoverflow.com/questions/59477433
复制相似问题