繁体   English   中英

ASP .NET 特定路由的核心自定义认证中间件

ASP .NET Core custom authentication middleware for specific routes

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个 ASP .NET 核心应用程序,该应用程序当前正在使用 JWT 的身份验证模式,它检查“授权”header 以获取承载令牌形式的 Z1D1FADBD9150349C135781140FFFEE9D 身份,然后构建一个身份。 这是我们要在此服务上使用的主要身份验证模式,但有一个 MVC Controller 端点,我想改用基本身份验证。 这个端点将被来自我们无法控制的客户端的 WebHook 命中。 该第 3 方客户端使用基本身份验证作为身份验证的唯一手段,因此我们被迫使用它。

经过一番谷歌搜索后,似乎 ASP .NET Core 本身不支持基本身份验证,因为它存在漏洞,但我们需要使用它,因为这是我们所有的 3rd 方 webhook 客户端支持的。

在阅读了 MSDN 上有关身份验证和授权的文档后,我对如何轻松配置它感到困惑。 这看起来很简单,但是这里有很多我以前没有使用过的概念,比如AuthorizationHandlersPoliciesAuthenticationMiddleware等。另一方面是我不知道如何实现它,所以这是唯一的途径使用此身份验证模式。

有人可以指出我应该使用 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();
}

我只是不知道从哪里开始

问题暂未有回复.您可以查看右边的相关问题.
1 ASP.NET 5(vnext)自定义身份验证中间件

我想学习所有有关asp.net的知识。 而我现在想掌握的是asp.net中间件。 我想创建一个简单的中间件,该中间件可以通过提供一些声明来进行身份验证。 不幸的是,我在网上找不到关于这个主题的很多东西。 基本上我以为我需要做的就是这样: 不幸的是,这似乎使整个应用程序崩溃 ...

2 Asp.Net核心自定义身份验证中间件方案

我的项目在相同的解决方案中具有前端和API,因此我正在构建自定义身份验证中间件,该中间件旨在仅授权API控制器,因为前端控制器使用身份。 我像这样在Startup.cs上为Identity设置AutomaticAuthenticate选项为false 对于我的自定义中间件,我实现了 ...

3 自定义 Laravel 身份验证中间件

在我的users表中,我有一个对应于用户权限的列rank 。 如果rank &gt; 0 ,则用户可以登录并继续,因为rank为0表示他们(暂时)被阻止或不活动。 所以我需要的是自定义auth中间件,所以只有 rank &gt; 0才会被认证。 我对它进行了一些研究,但没有找到确切地放置我的代码的 ...

4 在身份验证中间件之后调用自定义中间件

在 Django REST framework 中,身份验证中间件仅在执行视图中间件之后才在请求中设置用户对象,而在此之前执行任何自定义中间件。 在身份验证中间件设置用户对象后,是否有某种方法可以更改此顺序并执行自定义中间件 作为替代方案,我在中间件本身中创建了用户对象,它工作正常,但这只是一个 h ...

6 使用 cookie 身份验证的 ASP.NET Core 2.0 自定义中间件

我需要为我的公司实施自定义“身份验证”。 我在引号中这么说是因为从技术上讲,用户在访问应用程序之前已通过身份验证,如果是这样,则 userId 将存在于请求标头中。 我需要做的是找出一种方法来查询数据库并根据该 Id 获取其他用户信息,并设置 HttpContext.User 对象,以便它可以在应 ...

7 .Net核心JWT身份验证与自定义API密钥中间件

我有一个.Net Core 2.0应用程序,它使用JWT令牌来授权用户。 这一切都很好,但我希望有一些API密钥机制,以允许其他应用程序集成,但我似乎无法使用当前的身份验证。 码: Startup.cs 因此,在上面的代码中,您可以看到我正在拦截提供名为ApiKey的标头的 ...

9 在哪里将自定义中间件用于身份验证Laravel 5.2

在我的项目中,两种类型的用户:管理员和普通用户。 它们由users表中的isAdmin字段isAdmin 。 用户可以使用以下功能编辑个人资料 路线是 管理员还可以使用来编辑任何用户个人资料 在两种情况下,动作都是相同的,但在第一种方法中,不需要参数。 但是对于ad ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM