我有一个具有标准登录功能的Asp.Net MVC核心应用程序。我已将Web API控制器添加到我的项目中。我想使用承载令牌授权Web api控制器。但是只有这个控制器。我网站的其余部分必须按现在的方式工作。如果我在startup.cs中进行了设置,则表示无记名令牌功能可以正常工作,但会破坏我的网站。然后出现错误401。是否可以仅授权具有承载令牌的控制器?
雷克斯的评论是正确的。我包括一个代码示例,它将为您提供所需的内容(假设是JWT)。
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
// omitted
};
});
您的控制器
[Authorize(ADD OPTIONAL USER SCOPES/POLICIES)]
添加此属性和传递可选作用域以限制对特定用户的访问。