표준 .NET 멤버 자격 공급자를 사용 중이므로 누군가가 빛을 발할 수 있는지 알 것입니다.왜 ValidateUser는 더 이상 반환하지 않습니까?
ValidateUser를 호출하면 true 또는 false가 반환됩니다. 이제 메소드가 사용자 이름과 암호를 허용하기 때문에 반환 결과에 잘못된 사용자 이름이나 암호가 반영 될 수 있습니다. 그러나 더 자세히 조사해 보면 IsLockedOut 및 IsApproved도 확인하고 있습니다.
public override bool ValidateUser (string username, string password)
{
MembershipUser user = GetUser (username, false);
/* if the user is locked out, return false immediately */
if (user.IsLockedOut)
return false;
/* if the user is not yet approved, return false */
if (!user.IsApproved)
return false;
......
내 응용 프로그램에서, 나는 내 자신의 수단으로 IsApproved를 사용하고 싶습니다. 내가 여전히 부울 결과에 구속되기 때문에 내 자신의 공급자를 롤링하기 만하면 작동하지 않습니다. 사용자를 생성하면 우리에게 필요한 모든 정보가 제공되므로 ValidateUser를 사용하지 않는 이유는 무엇입니까? 내가 놓친 게 있니?
완벽한 의미가 있습니다. – mickyjtwin
시나리오 4의 경우 추가 정보가없는 보나 피이드 사용자 인 경우 머리카락을 찢어 버릴 수 있습니다 ... 사용자 이름 비밀번호 조합이 맞지만 로그인 할 수 없습니다! – escist
@escist 그래, 현실 세계에서 나의 계정이 잠겨서 들어올 수 없을 때, 그것은 나의 반응이다. 열쇠는 사용자가 "Cyril Cracker"에게 정보를 제공하지 않고 진행 상황을 알 수있는 대체 경로를 갖는 것입니다. 일부 사이트는 사용자에게 이메일로 발송되는 일회용 URL에 의존하지만 다른 접근 방식도 있습니다. – Bevan