2012-04-19 4 views
1

사용자가 입력하는 등록 양식이 있습니다. 양식이 채워지면 등록이 연기됩니다. 사용자가 전자 메일을 수신하여 전자 메일이 정상인지 확인한 다음 전자 메일에 회신하면 등록이 완전히 진행됩니다.asp.net mvc 3 - 전자 메일을 보내고 유효성 확인 작업에 대한 반환 받기 (등록, 양식 유효성 검사)

나는 또한 자동으로, 어떤 숫자 요법을 입력하지 않고도 자동으로, 그 사람이 확인을 위해 이메일을 클릭하고, 내 측면에 너무 자동으로해야 프로세스 싶습니다.

가능한 경우 등록 프로세스 이외의 다른 프로세스에서도 프로세스를 사용할 수 있기를 바랍니다.

123456이 생성 된 상태에서 모든 방법으로 확인/123456을 수행해야합니까, 아니면 더 나은 방법이 있습니까? 구성 요소를 수행 할 수있는 구성 요소가 있습니까? 당신의 경험은

감사

답변

1

을 할 찾고있는 당신이 바로 그 트랙에있을 것으로 보인다.

나는 이와 비슷한 일을 자주합니다. 그것은 필요 없기 때문에 일반적인 것이 아니지만 당신은 그것을 아주 쉽게 바꿀 수 있습니다.

일단 사용자가 등록하면 활성화 ID가 GUID 인 http://domain/member/activate/id과 같은 항목으로 이동하는 링크가 포함 된 활성화 전자 메일을 보냅니다. 그것이 내가 필요한 전부입니다. 회원 ID를 조회하고 활성화합니다. 새로운 회원의 이드를 추측하는 사람의 태도는 다소 희박하며 심지어 그렇다고해도 은 매우입니다.

내가 말할 수있는 것에서는보다 일반적인 보안과 좀 더 강력한 보안이 필요합니다. 사용자와 함께 저장 한 다음 활성화 호출을 저장하는 키 (예 : 새 GUID)를 만들 수 있습니다 (http://domain/member/activate/id?key={the guid}). 키를 암호화 할 수도 있습니다. 그러나 그것은 당신에게 달려 있습니다.

재사용이 가능하고 더 일반적인 항목의 경우 정품 인증 ID 목록이 포함 된 정품 인증 구성 요소를 만들 수 있습니다. 그러나 특정 유형의 엔티티 (예 : 사용자 등록 또는 양식 유효성 검증)를 활성화하려면 백엔드에서이를 수행 할 방법이 필요합니다. 예를 들어 http://domain/activation/activate/id을 내부적으로 호출하면 ID를 조회하고 유형을 가져옵니다. 물론 정품 인증 요청은 사용자가 등록 할 때 생성됩니다. 사용자가 절대로 활성화 할 수 없으므로 만료/시간 초과를 저장하고 싶을 것입니다.

각 유형에 대해 관련 컨트롤러에 활성화 메커니즘 (member/activate/key 또는 formvalidation/activate/key)을 사용할 수 있습니다. 따라서 활성화 컨트롤러가 활성화 요청을 받으면 유형별로 연결되는 경로 목록을 가지며 관련 경로로 이동하여 '실제'활성화를 수행합니다. 다음 MemberActivator 또는 FormValdationActivator과에 의해 구현되는 IActivator 인터페이스를 당신에게 유형 (.NET 유형 또는 문자열을 기반으로 관련 업체를주는 IActivatorProvider 구현이 있습니다

또 다른 옵션은 구성 요소가 활성화 등을 수행에-인 프로세스가하는 것입니다 공급자를 입력하십시오 --- 그것은 당신에게 달렸습니다).

서비스 버스 종단점을 따라 가려는 경우 ActivationRequestCommand을 전달할 수도 있습니다.

많은 옵션이 있습니다. HTH

+0

안녕하세요, Eben, 고맙습니다. 돌아와 주셔서 대단히 감사합니다. 만료/시간 초과 프로세스 및 IActivator. – dtjmsy

0

도움이 될 것입니다 반환 당신은 내가 당신을 제안 개발자가 적어도 당신이 무슨 짓을했는지의 샘플을 제공하는 박히 경우 다시 물어 ... 코드로 시작하려고하는 경우 .

은 당신이 ... 기본적으로 페이지에 게시물이 등록을 완료하는 임시 URL을 사용한다

+0

그게 정확히 내가 코딩을하려고하는 것입니다.하지만 전에 올바른 길을 가고 있는지 확인하십시오. – dtjmsy

관련 문제