asp.net-mvc - 如何使用 Bearer 令牌在我的网站中授权我的 web api 控制器?
问题描述
我有一个具有标准登录功能的 Asp.Net MVC 核心应用程序。我在我的项目中添加了一个 web api 控制器。我想用不记名令牌授权 Web api 控制器。但只有这个控制器。我网站的其余部分必须按照现在的方式工作。如果我在我的 startup.cs 中设置了它,我的意思是不记名令牌功能,它可以工作,但它会破坏我的网站。然后我收到错误 401。是否可以仅授权具有不记名令牌的控制器?
解决方案
雷克斯的评论是准确的。我包含一个代码示例,它将为您提供所需的内容(假设 JWT)。
启动.cs
public void ConfigureServices(IServiceCollection services)
{
services
.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
// omitted
};
});
你的控制器
[Authorize(ADD OPTIONAL USER SCOPES/POLICIES)]
添加此属性并传入可选范围以限制对特定用户的访问。
推荐阅读
- qt - 使用 macdeployqt 为 qt 应用程序创建可执行文件时的错误
- javascript - 如何在 React Native 中显示所有接收到的坐标?
- python - 当我添加关键字事件时,Discord Bot 停止处理命令
- sql - SQL Server 返回“无法对包含聚合或子查询的表达式执行聚合函数”
- linux - 连接服务协议出错:连接http://127.0.0.1:41209/y-F2GYjV9_Y=/失败
- android - tabLayoutIndicator 粘在选项卡的顶部
- python-3.x - 我如何安装以前的烧瓶?
- flask - 我的烧瓶应用程序中有错误。第二个 else 的语法无效
- javascript - 如何通过另一个网页向 Heroku 应用发送请求?
- python-3.x - 如何使用google.cloud.logging将abseil日志消息重定向到stackdriver,而不会出现带有错误“标签”的重复项?