簡體   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