0

IAuthenticationAdapter我正在通过在 .NET 中实现为 ADFS 3.0 设置自定义 MFA 提供程序。此自定义适配器生成一个随机代码,该代码传输到用户的手机。

我想限制用户可以输入随机代码的次数,以帮助防止暴力攻击。我使用存储在传递给BeginAuthentication()and的上下文中的重试计数器来完成此操作TryEndAuthentication()

然而,我刚刚发现这个上下文不是服务器端的东西,而是被加密并在隐藏的 html 字段中传输到客户端。

用户现在可以通过简单地导航到具有先前重试计数值的上一页来规避重试限制,然后使用新代码重新提交。

我相信我只需要在服务器端存储重试计数,但是在哪里呢?在文档中找不到任何关于此的内容。

我希望 ADFS 本​​身会以某种方式支持重试限制。

4

1 回答 1

0

在身份验证过程中,我还没有找到存储数据的服务器端位置。我相信没有。

所以我决定删除重试功能,从而消除对服务器端会话数据的需求。我的准时密码认证模块可以不用这个功能。

不过,这确实让我感到困惑。当然,更精细的身份验证模块需要一些地方来跟踪身份验证服务器端的进度。

于 2015-07-21T12:06:07.600 回答