2009-03-30 8 views
2

사용자가 등록 할 수 있지만 활성화되지 않은 앱에 양식 인증을 사용하고 있습니다. 우리는 스네일 메일 (긴 이야기)을 통해 활성화 코드를 보내고 사용자는 그 정보를 가지고 돌아와 그들의 계정을 활성화 할 수 있습니다.양식 인증 - 비활성 사용자의 사용자 이름과 암호를 확인하는 방법?

사용자가 돌아와서 사용자 이름, 암호 및 생성 된 키를 입력하여 계정을 활성화 할 수있는 페이지를 만들고 싶습니다. 다른 테이블에 저장 한 키와 그것을 생성 할 계획입니다. 비활성 계정으로 사용자 이름과 비밀번호를 확인하는 데 문제가 있습니다. Membership.ValidateUser (username, password)를 시도했지만 실패합니다. 계정을 활성화하면 작동합니다.

이것을 확인하는 방법에 대한 아이디어가 있습니까?

답변

1

IsActive = false로 설정하지 않습니다. 이는 계정을 비활성화하여 모든 로그인 유형을 방지하기위한 것입니다. 대신 로그인 기능을 유지하는 데 문제가 발생하지 않습니다. 멤버쉽 역할을 사용하여 사용자가 확인 된 시간을 지정합니다. 나는. "확인 됨".

계정을 활성화하지 않았고 로그인을 시도한 경우 인증 된 역할이 있는지 확인하기 만하면됩니다. 그렇지 않은 경우 '계정이 아직 활성화되지 않았습니다. 스 네일 메일을 기다려주십시오'라는 페이지로 리디렉션하십시오. 또는 '아래에 인증 코드를 입력하십시오.' 메시지.

마지막으로 달팽이 메일에서 적절한 인증 코드를 입력하면 검증 된 역할에 추가하기 만하면됩니다.

이렇게하면 로그인하고 계정 상태를 "확인"할 수 있습니다. 그리고 IsActive 문제를 해결합니다.

2

먼저 계정을 활성화하십시오.

전자 메일에서 활성화 코드를 보내는 경우 전자 메일에서 활성화 코드를 수신하고 (아마도 쿼리 문자열을 통해) 활성화 된 계정을 활성화하고 폼 인증이 활성화 된 로그인 페이지로 리디렉션되는 익명 액세스 페이지를 갖습니다 (사용자 이름과 암호가 이미 생성되었다고 가정).

액세스 코드가 잘못되어 실패해도 계정을 비활성화 할 수도 있습니다.

관련 문제