身份服务器4 + AspNetCore.Identity:X尝试后如何锁定?

问题描述 投票:0回答:1

我正在将IdentityServer4与AspNetCore.Identity一起使用。我的客户端正在使用RequestClientCredentialsTokenAsync函数登录。如何保护自己免受过多的登录尝试?

MaxFailedAccessAttempts属性,但不执行任何操作。

c# asp.net-identity identityserver4 identity
1个回答
0
投票

似乎您在弄糊涂。因此,让我从terminology开始。

什么是客户?

A 客户端软件,它从以下位置请求令牌IdentityServer。

什么是用户?

A 用户人类,它是使用注册的客户端进行访问资源。

<< [client已注册,允许某些grant types

机器到机器的通信

总是以客户端的名义请求令牌,

no 交互用户

存在。并且当涉及到

用户

时:交互式客户端
这是最常见的客户端方案类型:Web应用程序,具有

互动用户

的SPA或本机/移动应用程序。当您谈论RequestClientCredentialsTokenAsync时,这表明您正在使用

ClientCredentials

流。注册客户端以允许客户端凭据授予类型的流程。如该流程中所述,没有交互式用户存在。


现在有关MaxFailedAccessAttempts属性。这是lockout options的一部分:

获取或设置允许访问失败的次数假设已启用锁定,

用户将被锁定。默认为5。

这是为什么此属性无法正常工作的答案。锁定选项与

客户端凭据

流无关,因为没有用户在场。现在回答您的问题:

如何保护自己免受过多的登录尝试?

A

客户端登录名

用户登录名不同。没有机制可以锁定客户端。如果要为客户端使用此功能,则必须扩展IdentityServer。但是考虑到您的问题,提到

AspNetCore.Identity

,看来您应该实现user可以登录的正确流程。看看samples
© www.soinside.com 2019 - 2024. All rights reserved.