2009-07-11 7 views
14

necesito para implementar el patrón de 'Cuenta nueva' común (en .NET MVC) donde: se recogesí existe un flujo de trabajo 'Activación de la cuenta' para ASP.NET MVC

  1. información del usuario;
  2. mi sistema envía un correo electrónico;
  3. y el usuario si es necesario para responder al correo electrónico para activar la cuenta.

¿Hay un mejores prácticas sitio reconocido o de muestra que pueda guiarme en mi camino?

THX mucho

EDIT: en cuenta que yo estoy tratando de perforar en un patrón más profundo aquí de comparar únicamente una contraseña presentada contra una contraseña almacenada.

También tenga en cuenta que no estoy intentando ninguna referencia a Windows Workflow aquí. El título usa flujo de trabajo en un sentido genérico solamente.

THX

+1

Lo votó. Interesado también ... No me siento cómodo con la membresía de los proveedores de ASP.Net, etc. Sé que MVC Storefront los usa, así que quizás puedas ver algo desde allí. Por sugerencia de flujo de trabajo, tengo que agregar: alejemos esto de WWF –

+0

. Votaría su comentario si pudiera ... estoy tan lejos de WWF que ni siquiera hice la conexión mental cuando titulé la pregunta. – justSteve

+0

Buena pregunta. Terminé usando el kit de inicio de membresía (http://www.codeplex.com/MvcMembership). Es para mvc, pero no funciona de la caja con la versión actual. Y es limitado, y no admite correos electrónicos, etc. Parece una respuesta (o incluso un proyecto) que sería muy útil para la comunidad. –

Respuesta

2

La implementación de un proveedor de suscripciones

MSDN Membership Provider

Anulación de un método, por decir lo Crear método del usuario

MSDN Membership.CreateUser()

Todo lo que necesita hacer es heredar el AspNetMembershipProvider, reemplazar el método CreateUser y implementar código personalizado:

public class MyNewMembershipProvider : AspNetMembershipProvider 
{ 
     public override MembershipUser CreateUser(
      string username, 
      string password, 
      string email, 
      string passwordQuestion, 
      string passwordAnswer, 
      bool isApproved, 
      Object providerUserKey, 
      out MembershipCreateStatus status) 

      //Do whatever you need to do 
      SendUserValidationMessage(emailAddress, responseMessage, 
             options, etc, whatever); 

      return base.CreateUser(username, password, email, 
            passwordQuestion, passwordAnswer, 
            isApproved, providerUserKey, out status) 
    } 
} 

Espero que esto ayude. Creo que WF puede ser demasiado para algo como esto.

0

curioso: ¿Por qué no utilizar los proveedores de pertenencia .NET? Todavía no he tenido la oportunidad de usarlos, pero estoy bastante seguro de que ofrecen esta funcionalidad.

+0

Simplemente soy reacio a comprar en otro subsistema MS. Parte de la razón por la que estoy optando por MVC en primer lugar es lo agradable que juega con jQuery. No era fanático de los formularios web. Pero voy a echar un vistazo a jw paso a paso y ver cómo me siento al respecto. thx – justSteve

+0

Entiendo - tiendo a usar tecnologías de código abierto sobre MS cuando sea posible también, sin embargo, su API de membresía es bastante decente y extensible. No olvides que podría ampliarse fácilmente: solo ingresa a google para obtener "API de membresía de .NET personalizada" (por ejemplo: http://www.devx.com/asp/Article/29256).En el peor de los casos, te encontrarás codificando tu propio marco de membresía extensible; eso no debería tardar demasiado si conoce su camino alrededor de .net. – synhershko

+0

justSteve: Si no desea comprar en otro subsistema MS, ¿por qué elige comprar en un marco completamente nuevo (WorkFlow)? El proveedor de membresía es realmente fácil de implementar y puede derivar fácilmente nuevas clases de la clase AspNetMembershipProvider para implementar nuevas funcionalidades. Francamente, esto es más "ASP.NETy" que usar WF. –

0

Aquí está un step by step blog para usar asp.net mvc con su API integrada de membresía. Encuentro que es bastante útil.

+0

No veo nada sobre mi referencia al envío de un correo electrónico al registrante con un enlace para activar una nueva cuenta. – justSteve

Cuestiones relacionadas