我想学习所有有关asp.net的知识。 而我现在想掌握的是asp.net中间件。 我想创建一个简单的中间件,该中间件可以通过提供一些声明来进行身份验证。 不幸的是,我在网上找不到关于这个主题的很多东西。 基本上我以为我需要做的就是这样: 不幸的是,这似乎使整个应用程序崩溃 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有一个 ASP .NET 核心应用程序,该应用程序当前正在使用 JWT 的身份验证模式,它检查“授权”header 以获取承载令牌形式的 Z1D1FADBD9150349C135781140FFFEE9D 身份,然后构建一个身份。 这是我们要在此服务上使用的主要身份验证模式,但有一个 MVC Controller 端点,我想改用基本身份验证。 这个端点将被来自我们无法控制的客户端的 WebHook 命中。 该第 3 方客户端使用基本身份验证作为身份验证的唯一手段,因此我们被迫使用它。
经过一番谷歌搜索后,似乎 ASP .NET Core 本身不支持基本身份验证,因为它存在漏洞,但我们需要使用它,因为这是我们所有的 3rd 方 webhook 客户端支持的。
在阅读了 MSDN 上有关身份验证和授权的文档后,我对如何轻松配置它感到困惑。 这看起来很简单,但是这里有很多我以前没有使用过的概念,比如AuthorizationHandlers
、 Policies
、 AuthenticationMiddleware
等。另一方面是我不知道如何实现它,所以这是唯一的途径使用此身份验证模式。
有人可以指出我应该使用 ASP .NET 中构造的正确方向来在单个路由上强制执行基本身份验证。 如果我可以在路由方法上使用一个属性来指示它应该像这样使用基本身份验证,那将是最好的:
[HttpGet]
[BasicAuthentication]
public async Task<IActionResult> Test([FromBody] string foo)
{
return new OkResult();
}
或者
[HttpGet]
[Authorize("Basic")]
public async Task<IActionResult> Test([FromBody] string foo)
{
return new OkResult();
}
我只是不知道从哪里开始
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.