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

Laravel PHP Discussion :

Action à modifier si user pas connecté


Sujet :

Laravel PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut Action à modifier si user pas connecté
    Bonjour,

    Je dois modifier une application mais, connaissant très peu Laravel et trouvant ça très compliqué (contrairement à ce que dit le tutoriel ), j'ai besoin d'aide.

    Sur le menu de l'application, plusieurs options ne sont accessibles que si l'utilisateur est authentifié. Si ce n'est pas le cas, elles renvoient vers la page d'inscription.
    Nous souhaiterions changer ce fonctionnement en affichant pour chacune de ces options de menu un texte explicatif sur l'option, tendant à inciter le visiteur à s'enregistrer et, surtout, dans le but d'améliorer le référencement naturel du site.

    Exemple :
    L'option 1 du menu lance une URL du genre monsite.com/option1.
    Si le visiteur n'est pas un utilisateur connecté, la page affichée est monsite.com/enregistrement.

    Où puis-je trouver dans la meule de foin de Laravel l'aiguillage qui renvoie sur la page de l'enregistrement, afin de modifier ce comportement ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Salut,
    Sorry j'arrive tard....

    En fait, Laravel dispose d'un routeur qui se trouve dans le fichier (cela dépend de ta version) /route/web.php.
    Les routes de ton menu se trouvent donc dans ce fichier et ils utilisent certainement le midellware Auth , qui renvoie automatiquement vers le login.
    Tu dois simplement sortir les routes que tu veux et ne pas mettre d'authentification dessus.

    Je suis pas sur d'être clair ?

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Merci de ta réponse, même tardive.

    J'avais fini par à peu près comprendre ce fonctionnement, en effet, mais cela me semble très restrictif.

    Ce dont j'aurais eu besoin, c'est :
    - je suis un utilisateur connecté => j'accède directement au contenu réservé annoncé par le menu ;
    - ou bien je ne suis pas un utilisateur connecté => j'accède à une page de présentation du contenu caché annoncé par le menu.

    Donc l'utilisation de la même option affichée du menu donne deux résultats différents selon que je suis un utilisateur connecté ou pas.
    Dans la négative, ça affiche une page disant, par exemple : "Cette option est réservée aux utilisateurs abonnés. Si vous êtes abonné, cliquez-ici pour vous connecter. Cette option vous présente blablabla... Pour vous abonner, cliquer ici."

    Mais pour le moment je n'en ai plus besoin puisque mon client essaie d'obtenir de l'aide de celui qui a développé le site et qui connait bien mieux que moi Laravel.

    Quoi qu'il en soit, je trouve vraiment les frameworks trèèèès louuuuuuurds !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Quoi qu'il en soit, je trouve vraiment les frameworks trèèèès louuuuuuurds !
    Pourtant celui-là est vraiment pas mal, même si j'espère beaucoup de SF4.

    Pour ton souci c'est très simple et très similaire à ce que tu ferais en PHP pure.

    Tu commences pas créer tes deux routes, une dans le midlware Auth et l'autre non

    Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Route::get('/lien1','MainController@index')->name('main');
     
    Route::group(['middleware' => ['web','auth']], function () {
        Route::get('/lien2', 'AdminController@index')->name('main.connect');
    }
    Ensuite dans ta vue tu vérifies juste si il es connecté ou non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    @if(!Auth::user())
         <a href="{{route('main')}}">
            lien vers non connecté
         </a>
    @else
         <a href="{{route('main.connect')}}">
             lien vers connecté
         </a>
    @endif

    N'hésite pas si tu as besoin d'aide.

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ah ok !
    Ça semble effectivement simple... quand on connait le fonctionnement de cette usine à gaz !

    L'image qui m'est venue en tête en lisant ton code est celle de la machine à cadence des Temps modernes, de Chaplin !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    En même temps si tu réfléchis sur la façon de faire en PHP, tu aurais un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <?php if(!$_SESSION['auth']) : ?>
         <a href="/index.php">
            lien vers non connecté
         </a>
    <?php else : ?>
         <a href="/index2.php">
             lien vers connecté
         </a>
    <?php endif ?>
    C'est kifkif....mais bon je suis pas là pour te convaincre du bien fait de fwk.

Discussions similaires

  1. [Joomla!] Je n'arrive pas à connecter une user au front-end
    Par Tybaal dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/07/2016, 19h25
  2. Modifier Action d'un formulaire pas JEE
    Par Kurogane dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/09/2013, 09h41
  3. ne pas connecter le nouvel user créé
    Par polo86 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 20/04/2009, 01h07
  4. [tomcat] JSP modifiée ne sont pas recompilées....
    Par snoop dans le forum Eclipse Java
    Réponses: 14
    Dernier message: 02/05/2005, 08h23
  5. [HTTP]Modifier le User-Agent
    Par Adjanakis dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 24/09/2004, 10h15

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