ASP.Net Core에는 사용자 인증을 처리하는 SignInManager가 있습니다. 방법 중 하나는 PasswordSignInAsync(string username, string password, bool isPersistent, bool lockoutOnFailure)
입니다. lockoutOnFailure를 true로 설정하면 로그인 실패 횟수가 초과되면 일시적으로 사용자를 잠그십시오. 각 1 씩ASP.Net Core SignInManager lockoutOnFailure
- AccessFailedCount 증가 액세스 실패, 그것은 5 안타 때 0으로 롤오버시 0
- 로 롤오버 : 나는 다음을 참조 데이터베이스의 AspNetUsers 테이블을 보면
LockoutTimeEnd는 향후 5 분으로 설정됩니다.
- 그러나 LockoutEnabled도 롤오버 후 0을 유지하고, 사용자가 로그인 시도를 계속할 수 있습니다.
의도 된 기능은 다음 5 개 로그인 시도를 허용 5 분 동안 계정을 잠그는 것입니다 것 같습니다.
그래서 내 질문은됩니다
- 어떻게 허용 된 로그인 실패의 수를 설정합니까?
- 어떻게 잠금 기간을 설정합니까?
- 왜 잠금 트리거가 실행되지 않습니까?
about the 3rd bulltet, 기본 프로젝트 템플릿에서 작동하므로 일부 코드를 공유해야합니다. – tmg
이것에 대해 알아 냈습니다. "LockoutEnabled = false"를 가진 사용자는 "LockoutTimeEnd"에 관계없이 절대 잠기지 않습니다. "LockoutEnabled = true"인 사용자는 LockoutTimeEnd> DateTime.Now 인 경우에만 잠기 게됩니다. 모든 사용자를 "LockoutEnabled = false"로 설정하여 전체 잠금 메커니즘을 효과적으로 비활성화했습니다. –
어떻게 설정 했습니까? 등록 작업에서 사용자를 만들 때? – tmg