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

ASP.NET Discussion :

Réutiliser mon custom Membership Provider dans une application console


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut Réutiliser mon custom Membership Provider dans une application console
    Bonjour,

    J'ai réalisé un projet sous VS 2005 qui me permet de gérer la sécurité de mes application web en utilisant mes custom MembershipProvider (ca me permet de travailler avec des bases SQL Server, MySql et PostGre)

    Ca fonctionne parfaitement en WEB, j'ai voulu tester si ca fonctionnerai aussi bien avec une application console. Et bien, non !

    J'ai correctement fait référence à System.Web.Security, j'ai configuré mon app.config en reprenant un web.config qui fonctionne.
    La ou ca bloque c'est quand je veux créer un MembershipUser depuis un datareader.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
      private MembershipUser GetUserFromReader(NpgsqlDataReader reader)
            {
                object providerUserKey = new Guid(reader.GetValue(0).ToString());
                string username = reader.IsDBNull(1) ? "" : reader.GetString(1);
                string email = reader.IsDBNull(2) ? "" : reader.GetString(2);
                string passwordQuestion = reader.IsDBNull(3) ? "" : reader.GetString(3);
                string comment = reader.IsDBNull(4) ? "" : reader.GetString(4);
                bool isApproved = reader.IsDBNull(5) ? false : reader.GetBoolean(5);
                bool isLockedOut = reader.IsDBNull(6) ? false : reader.GetBoolean(6);
                DateTime creationDate = reader.IsDBNull(7) ? DateTime.Now : reader.GetDateTime(7);
                DateTime lastLoginDate = reader.IsDBNull(8) ? DateTime.Now : reader.GetDateTime(8);
                DateTime lastActivityDate = reader.IsDBNull(9) ? DateTime.Now : reader.GetDateTime(9);
                DateTime lastPasswordChangedDate = reader.IsDBNull(10) ? DateTime.Now : reader.GetDateTime(10);
                DateTime lastLockedOutDate = reader.IsDBNull(11) ? DateTime.Now : reader.GetDateTime(11);
     
                return new MembershipUser(
                    this.Name,
                    username,
                    providerUserKey,
                    email,
                    passwordQuestion,
                    comment,
                    isApproved,
                    isLockedOut,
                    creationDate,
                    lastLoginDate,
                    lastActivityDate,
                    lastPasswordChangedDate,
                    lastLockedOutDate
                    );
            }
    ce code est dans mon custom membershipprovider et fonctionne très bien dans des applis web mais la, sur le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "return new membershipuser..."
    j'ai l'erreur suivante :

    "Impossible de charger le type 'PostgreSqlMembershipProvider' à partir de l'assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3

    System.TypeLoadException
    Qu'est ce que j'oublie de faire pour que mon code fonctionne avec une appli non web ?

    Merci de votre aide

  2. #2
    Membre actif Avatar de seb.49
    Profil pro
    ljgdfgdf
    Inscrit en
    Octobre 2002
    Messages
    291
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : ljgdfgdf

    Informations forums :
    Inscription : Octobre 2002
    Messages : 291
    Points : 209
    Points
    209
    Par défaut
    J'ai trouvé, dans mon fichier de configuration il fallait que je mette ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <add name="PostgreSqlMembershipProvider" connectionStringName="PostgreSqlMembershipProviderConnString" applicationName="APPLI_TEST" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" passwordFormat="Clear" type="PostgreSqlMembershipProvider, NomDeMaDLL" />
    je ne mettais pas NomDeMaDLL !
    Par contre je ne m'explique par le pourquoi du comment que ca marche tout seul dans une appli Web !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/12/2009, 09h40
  2. ShellExecute dans une application console?
    Par balu dans le forum Delphi
    Réponses: 5
    Dernier message: 24/06/2006, 21h26
  3. [C#]Marquer une pause dans une application Console
    Par KibitO dans le forum Windows Forms
    Réponses: 2
    Dernier message: 14/06/2006, 16h28
  4. Les caractères dans une application console
    Par maximedrouet dans le forum Langage
    Réponses: 2
    Dernier message: 26/05/2005, 16h44
  5. Utiliser un timer dans une application console
    Par chavers dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2005, 14h07

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