2010-03-12 10 views
0

Vous avez ce site avec UN/PW set via le contrôle Createuserwizard. Le client considère PW comme une barrière trop importante pour l'entrée et veut se débarrasser de l'exigence de mot de passe tout en conservant des comptes, de sorte que les utilisateurs se reconnectent simplement avec une adresse électronique. Je veux le correctif le plus rapide possible lorsque j'utilise le même fournisseur et le même contrôle, mais que j'utilise le même PW statique pour tous les utilisateurs lors de l'inscription, et que je les saisis quand ils se connectent. Fonctionne comme un cookie, mais a une connexion réelle.Puis-je redéfinir asp: CreateUserWizard ne nécessite essentiellement pas de mot de passe?

Le problème est la propriété Createuserwizard.Password est en lecture seule. Puis-je faire AutoGeneratePassword = true et le forcer à générer exactement le même mot de passe à chaque fois?

Pour ce que cela vaut, c'est une simple, pas de données sécurisées, essentiellement pas beaucoup de type de site stocké. Ne nous demandons pas si le req a un sens, et les implications de cela - je suis probablement d'accord avec vous :)

Répondre

3

Bla, bla, bla beaucoup de choses que vous êtes probablement d'accord avec ... et maintenant au point:

Juste abandonner le CreateUserWizard et appelez MembershipProvider.CreateUser directement. Vous devrez jeter quelques boîtes de texte pour l'email et d'autres choses à la place du createuserwizard mais cela devrait être une promenade dans le parc. Pour la connexion, il suffit de supprimer le contrôle de connexion et d'ajouter une zone de texte pour l'e-mail et un bouton "login". Ensuite, dans l'appel code-behind MembershipProvider.ValidateUser avec l'e-mail et le mot de passe codé en dur, et si elle renvoie vrai (ce qui signifie que l'utilisateur existe) vous appelez simplement FormsAuthentication.SetAuthCookie suivi par FormsAuthentication.RedirectFromLoginPage et l'utilisateur est connecté.