繁体   English   中英

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

[英]identity server 4 + AspNetCore.Identity: how to lockout after X tries?

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

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

看来你在混淆事情。 让我从 术语开始。

什么是客户?

客户端是一个从 IdentityServer 请求令牌的软件

什么是用户?

用户使用已注册的客户端访问的资源是

客户端注册允许某些授权类型

机器对机器通信

始终代表客户端请求令牌,不存在交互式用户

当涉及用户时:交互式客户端

这是最常见的客户端场景类型:具有交互式用户的Web 应用程序、SPA 或本机/移动应用程序。

当你谈论RequestClientCredentialsTokenAsync则表明您使用的是ClientCredentials流动。 客户端注册以允许客户端凭据授予类型的流。

如本流程所述,不存在交互式用户。


现在关于MaxFailedAccessAttempts属性。 这是锁定选项的一部分:

获取或设置在用户被锁定之前允许的失败访问尝试次数(假设已启用锁定)。 默认为 5。

这是为什么此属性不起作用的答案。 锁定选项与客户端凭据流无关,因为没有用户存在。

现在回答您的问题:我如何保护自己免受过多的登录尝试?

客户端登录用户登录不同 没有锁定客户端的机制。 如果您想为客户端提供此功能,则必须扩展 IdentityServer。

但是鉴于您的问题,提到AspNetCore.Identity ,您似乎更应该实现用户可以登录的正确流程。 看看样品

暂无
暂无

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

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