Besoin d'aide ?

Authentification

  • Avatar de chamitachaimaa
    Membre depuis :
    08/05/2018
    Messages :
    8

    Donc voilà mon problème je veux réaliser la page d'authentification sur laravel mais le problème que j'ai déjà une base de données existante dans lequel il y a une table personne qui stocke le login, mot de passe... alors puisque j'ai générer les modules à partir de ma base de données je sais pas comment je peux utiliser la page d'authentification en utilisant ma table Personne.
    Svp veuillez m'aider le plus tôt possible c'est tellement urgent.

  • Avatar de PLJerem
    Membre depuis :
    10/01/2019
    Messages :
    22

    Bonjour chamitachaimaa,

    Peux-tu nous donner toutes les colonnes de ta table "personne" ?

    La première étape est que le modèle User tape dans la bonne table. Pour cela dans App\User.php tu dois indiquer quelle table tu souhaites utiliser :

    /*
    The table associated with the Model
    @var string
    /
    protected $table = "personne";

    Pour la colonne qui te sert de "username" ca se passe ici : app\http\Auth\LoginController.php, tu peux indiquer la colonne qui sert de username en ajoutant :

    /*
    Username Customization

    @return string
    */
    public function username()
    {
    return '...le nom de la colonne...';
    }

    Après c'est tout du cas par card, il faut la structure de ta table.

  • Avatar de chamitachaimaa
    Membre depuis :
    08/05/2018
    Messages :
    8

    Merci de m'avoir répondu.
    voilà mon modèle Personne :
    namespace App\Models;

    use Reliese\Database\Eloquent\Model as Eloquent;

    /**

    • Class Personne
    • @property int $IDA
    • @property int $IDP
    • @property string $CIN
    • @property string $NOM
    • @property string $PRENOM
    • @property string $LOGIN
    • @property string $PASSWORD
    • @property int $NBR_CONNEXION
    • @property \Carbon\Carbon $DATE_LAST_CNX
    • @property \Carbon\Carbon $DATE_CREATION
    • @property \Carbon\Carbon $DATE_LAST_MODIF
    • @package App\Models
      */
      class Personne extends Eloquent
      {
      protected $table = 'personne';
      public $incrementing = false;
      public $timestamps = false;

      protected $casts = [
      'IDA' => 'int',
      'IDP' => 'int',
      'NBR_CONNEXION' => 'int'
      ];

      protected $dates = [
      'DATE_LAST_CNX',
      'DATE_CREATION',
      'DATE_LAST_MODIF'
      ];

      protected $fillable = [
      'CIN',
      'NOM',
      'PRENOM',
      'LOGIN',
      'PASSWORD',
      'NBR_CONNEXION',
      'DATE_LAST_CNX',
      'DATE_CREATION',
      'DATE_LAST_MODIF'
      ];
      }

  • Avatar de PLJerem
    Membre depuis :
    10/01/2019
    Messages :
    22

    Ah oui tu vas avoir pas mal de modifications à effectuer.

    Bon pour commencer il faut que Auth aille chercher la bonne class, dans app\config\auth.php

    'providers' => [
    'users' => [
    'driver' => 'eloquent',
    'model' => App\Personne::class,
    ],
    ],

    Ensuite faut que ton modèle Personne extends de Authenticatable et non de Eloquent

    use Illuminate\Foundation\Auth\User as Authenticatable;

    class Personne extends Authenticatable
    {
    }

    Je n'ai pas le temps de t'apporter plus de solution pour ce matin. En fouinant sur le net tu vas trouver petit à petit tout ce qu'il te faut pour débugger.

    Enfin le gros de ta customisation va se trouver dans les fichiers se trouvant dans : app\Http\Controllers\Auth

  • Avatar de chamitachaimaa
    Membre depuis :
    08/05/2018
    Messages :
    8

    Ok merci infiniment j'essayerais de chercher encore.
    Ps: concernant la partie où le modèle Personne extends de Authenticatable, j'ai générer les modeles à partir de ma base de données donc ces modèles extends par défaut de Eloquent et ils se trouvent dans App/Models donc si je change pour le modele Personne à extends Authenticatable est ce que ça va pas impacter mon projet???

  • Avatar de bestmomo
    Membre depuis :
    07/04/2013
    Messages :
    2524

    Bonjour,

    La classe Authenticatable est en fait Illuminate\Foundation\Auth\User qui étend Illuminate\Database\Eloquent\Model, il n'y aura donc pas d'impact, ça ajoute juste des fonctionnalités.

  • Avatar de chamitachaimaa
    Membre depuis :
    08/05/2018
    Messages :
    8

    ok je comprend maintenant. Merci beaucoup.

    PS: en tout cas est ce que quelqu'un maitrisant bien Laravel peut -t-il me consacrer un peu de son temps pour m'aider au long de mon projet,
    j'ai qu'un mois pour le réaliser et je suis vraiment débutante en la matière, donc si vraiment quelqu'un peut faire une telle faveur me fait signe.

  • Avatar de PLJerem
    Membre depuis :
    10/01/2019
    Messages :
    22

    chamitachaimaa, commence avec ce qu'on t'a donné ci-dessus, on t'aidera au fur et à mesure des messages d'erreur que tu vas rencontrer.

  • Avatar de chamitachaimaa
    Membre depuis :
    08/05/2018
    Messages :
    8

    ok merci beaucoup pour vos réponse et votre aide.
    PS: si c'est possible est ce que je peux vous contacter via facebook s'il n'y a pas de problème.

Vous ne pouvez pas répondre à ce sujet.