IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Etendre MembershipUser pour utiliser mon propre provider


Sujet :

C#

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut Etendre MembershipUser pour utiliser mon propre provider
    Bonjour,

    J'essaie d'utiliser mon propre provider pour utiliser postgresql.

    Je souhaite utiliser MembershipUser pour gerer mes utilisateurs.

    Le probleme c'est que cette classe ne gere pas les prenoms. Je souheterais donc ajouter les prenoms.
    Par contre je n'ai pas besoin du providerUserKey que je souhaite faire disparaitre.

    Je penser donc faire ma propre classe pour modifier ca.

    Un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public utilisateur : membershipuser
    Et la je bloque je sais plus quoi faire. Est ce que je dois tout reecrire?
    Je pensais faire ca dans ma classe utilisateur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public override MembershipUser (string name , string prenom etc ...)
    Mais si je fais ca, le jour ou je veux utiliser MembershipUserCollection
    Et ce que je dois aussi l'etendre? et comment ? je refais un UtilisateurUserCollection : MembershipUserCollection?

    Avec un override sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public void CopyTo(MembershipUser[] array, int index);
            public MembershipUser this[string name] { get; }
            public void CopyTo(MembershipUser[] array, int index);
    merci,

    Je suis entrain de me rendre compte que membershipuser n'est pas abstract ..; :s

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Pour commencer, jette un oeil au tuto sur le sujet :
    http://ditch.developpez.com/aspnet2/membershipprovider/

    Citation Envoyé par xian21 Voir le message
    Par contre je n'ai pas besoin du providerUserKey que je souhaite faire disparaitre.
    Tu ne peux pas "faire disparaître" une propriété de la classe de base. Par contre, tu peux toujours l'ignorer... Mais à mon avis tu en as besoin, ça correspond à l'identifiant de l'utilisateur dans ta BDD. Si tu utilises par exemple une propriété "toto" comme identifiant, override ProviderUserKey comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public override Object ProviderUserKey
    {
        get { return toto; }
    }
    Citation Envoyé par xian21 Voir le message
    Je penser donc faire ma propre classe pour modifier ca.

    Un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public utilisateur : membershipuser
    Et la je bloque je sais plus quoi faire. Est ce que je dois tout reecrire?
    Non, seulement ce que tu veux ajouter ou modifier.
    Citation Envoyé par xian21 Voir le message
    Je pensais faire ca dans ma classe utilisateur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public override MembershipUser (string name , string prenom etc ...)
    On ne peut pas overrider un constructeur. Définis ton propre constructeur, qui appelle celui de la classe de base s'il y a des paramètres à transmettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public utilisateur (string name , string prenom etc ...)
        : base(name, ...)
    {
        ...
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Merci,

    Le tutoriel je l'avais trouve et je bosse avec mais il repond pas a toute mes questions.

    Tu ne peux pas "faire disparaître" une propriété de la classe de base. Par contre, tu peux toujours l'ignorer... Mais à mon avis tu en as besoin, ça correspond à l'identifiant de l'utilisateur dans ta BDD.
    Oui, par contre je preferais utiliser un identifiant auto incremente plutot qu'un champ string comme ils font.

Discussions similaires

  1. Réponses: 6
    Dernier message: 24/12/2008, 13h17
  2. Réponses: 5
    Dernier message: 22/11/2007, 20h12
  3. Petite aide pour que mon appli soit utilisable via un VPN
    Par FredericB dans le forum C++Builder
    Réponses: 0
    Dernier message: 23/09/2007, 18h12
  4. [PHP][XML][XSLT]Utiliser PHP pour afficher mon xml
    Par bladebo dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 03/07/2007, 10h57
  5. Utiliser mon tableau pour copier des fichiers
    Par Paloma dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 31/10/2006, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo