2009-07-30 5 views
2

J'utilise l'exemple d'application asp.net mvc et je l'ai élargi un peu. J'utilise l'abonnement asp.net pour la connexion et l'inscription pour les utilisateurs. Je veux maintenant le changer de sorte que lorsque les gens s'inscrivent, au lieu d'être instantanément en mesure de se connecter, cela passe à un état où un administrateur doit l'approuver. Une fois cette approbation obtenue, ils peuvent se connecter.adhésion à asp.net - approbation de l'administrateur

Y a-t-il quelque chose d'intégré dans les éléments d'adhésion à asp.net qui va m'aider à le faire ou dois-je le coder à partir de zéro en utilisant ma propre implémentation? J'ai quelques idées et je ne pense pas que ce soit une science de fusée, mais je ne veux pas réinventer la roue que je veux expédier le plus tôt possible.

Répondre

4

La classe MembershipUser a une propriété IsApproved. Vous pouvez le définir sur false lors de la création d'un nouvel utilisateur, puis le définir sur true lorsque l'administrateur approuve l'utilisateur. Vous devez appeler la méthode Membershi.UpdateUser (user) après avoir défini la propriété.

+0

Comment puis-je avoir un écran pour la administrateur pour revoir les utilisateurs qui ne sont pas approuvés? Existe-t-il un exemple? – leora

+0

Je ne connais pas d'exemple mais vous pouvez faire en sorte que tous les utilisateurs les filtrent avant de les montrer à l'administrateur. Sauf si vous avez plus d'un millier d'utilisateurs, il ne devrait pas y avoir de problème. Si vous en avez plus, vous devrez probablement implémenter votre propre méthode. Comme blowdart mentionné il n'y a pas de manière directe. – Stilgar

0

La classe MembershipUser a une propriété IsApproved et lors de la création de l'utilisateur, vous pouvez utiliser l'une des surcharges de l'appartenance. CreateUser fonction qui permet de définir ce drapeau. Malheureusement, il n'y a pas de moyen facile de dire "Montrez-moi tous les utilisateurs qui n'ont pas encore été validés".

2

Voici un code pour construire une collection d'utilisateurs non approuvé qui peut être utilisé comme source de données d'un contrôle de données comme un GridView, DataList ou Repeater:

MembershipUserCollection users = Membership.GetAllUsers(); 

MembershipUserCollection unapprovedUsers = new MembershipUserCollection(); 

foreach (MembershipUser u in users) 
{ 
    if (!u.IsApproved) 
     unapprovedUsers.Add(u); 
} 
+0

à quoi ressemblerait la classe de vue dans ce cas? – leora

Questions connexes