Autre chose sur Login

Signaler
Messages postés
119
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2016
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour

Encore moi lol

Une question me tracasse sur le membership, La méthode GetUser(UserName) permet de récupérer la liste des Users avec ce Nom mais bizarre moi quand je veux créer un user dont le nom existe déjà dans la table il me dit "Ce nom existe déjà" autant je trouve intéressant d'avoir une gestion unique des adresses mail autant que là ça me gène pour les noms car je dois utiliser une base de clients existant et il serait compliqué de demander au clients d'avoir des pseudo en plus de leur nom ils ont déjà du mal a se souvenir de leur mot de pass.
 

Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM

4 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
bonjour,

le username est le nom d'utilisateur il doit être obligatoirement unique c'est une sorte de clé ... tu peux peut être utilisé l'adresse email pour l'username ? car normalement c'est unique pour un utilisateur. Sinon dans ton cas si tu as déjà une base existante tu peux créer ton propre membership provider, ainsi tu auras la structure de base que tu veux, les propriétés que tu souhaite etc...

<hr />Cyril - MSP - MCTS ASP.net & SQL
Messages postés
119
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2016
1
Bonjour

Je crois ou plutôt je suis sur que tu as raison et la seul solution est de réécrire mon propre

MembershipProvider mais je me pose une question.

J'ai regardé l'exemple de la coach (Leçon 9) et je suis inquiet.

Son exemple est basé sur la création d'un WebService GetAllUsers, l'exemple est sympas sur 10 utilisateurs mais qu'en est-il sur 30 000 voir plus d'autant qu'elle conseil à juste titre de faire un hashtable que seront les temps de réponses.




Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM
Messages postés
119
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2016
1
Bonjour

je me suis lancé dans la construction de mon propre MemberShipProvider basé sur mon ancienne table SQLServeur

j'ai uniquement testé

Public
Overrides
Function ValidateUser(
ByVal username
As
String,
ByVal password
As
String)
As
Boolean

Return
CType(MyTAUser.GetNamePass(username, password).Count,
Boolean)

End
Functioncela fonctionne à merveille.

mais maintenant je supose que je dois redéfinir MembershipUser et la c'est le bide, je ne sais pas par ou commencer, j'ai cherché un exemple mais sans succés.

Mon objectif est que par exemple GetUser(username, password) me retourne System.Web.Security.MembershipUser avec la structure de ma table (Nom,Prénom,Id,etc...)

Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
29
oui, généralement les exemples sont "simpliste" et irréalisable avec de nombreux utilisateurs, mais en faisant son propre membership on a pas de problème pour faire ce que l'on veut derrière et généralement niveau perf cela ne pose pas de problème, le membership ne fait que définir des classes que l'on peut (ou non) implémenter.

Au niveau du membershipUser je crois que lorsque tu fais un Page.User tu obtient un tel objet sauf que toi tu auras une instance de ton objet user qui hérite de membershipUser, tu peux donc caster Page.User en ton type finale. Le plus simple est de faire une classe Page de base ou tu surcharge la propriété page avec shadow ou new

public shadow readonly property User as TonMembershipUser
    get
       return directcast(mybase.User , TonMembershipUser)
    end get
end property

public new TonMembershipUser User
{
 get { retrun base.User as TonMembershipUser;}
}

ainsi en faisant hériter toutes tes pages de ta classe de base qui contient la propriété User modifié tu pourras faire un Page.User et obtiendra un User déjà casté.

<hr />Cyril - MSP - MCTS ASP.net & SQL