1 pièce(s) jointe(s)
NavBar Symfony FosUserBundle Inscription et Connexion
Bonjour à tous,
Je code un projet sous SYmfony 3 avec FOSUserBundle.
J'ai fait une navbar dans ma page de connexion avec une possibilité de connexion ou d'inscription.
J'ai aussi un "mot de passe oublié" sous le formulaire de connexion de la page.
La redirection de ces liens se fait bien sauf qu'il faut être connecté pour pouvoir y accéder... LOL
Je peux donc accéder à mon formulaire d'inscription... après m'être connecté !
Même chose pour le "mot de passe oublié".
Je ne comprend pas bien pourquoi ça fait cela.
Je vous remercie d'avance pour votre aide ! :)
Bonne journée à tous !
PS: Je vous met en photo la page de connexion.
Mon code de NavBar dans topnav.html.twig:
Code:
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 32
| <nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<p class="navbar-text" >TITRE</p>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
{% if is_granted("IS_AUTHENTICATED_REMEMBERED") %}
<p class="navbar-text">
{{ 'layout.logged_in_as'|trans({'%username%': app.user.username}, 'FOSUserBundle') }}
</p>
<li>
<a href="{{ path('fos_user_security_logout') }}">
{{ 'layout.logout'|trans({}, 'FOSUserBundle') }}
</a>
</li>
{% else %}
<li>
<a href="{{ path('fos_user_registration_register') }}">
{{ 'layout.register'|trans({}, 'FOSUserBundle') }}
</a>
</li>
<li>
<a href="{{ path('fos_user_security_login') }}">
{{ 'layout.login'|trans({}, 'FOSUserBundle') }}</a>
</li>
{% endif %}
</ul>
</div><!--/.nav-collapse -->
</div>
</nav> |
Mon code de login dans login.html.twig :
Code:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| {% extends "@FOSUser/layout.html.twig" %}
{% trans_default_domain 'FOSUserBundle' %}
{% block title %}{% endblock %}
{% block fos_user_content %}
{% if error %}
<div class="alert alert-danger" role="alert">
{{ error.messageKey|trans(error.messageData, 'security') }}
</div>
{% endif %}
<form action="{{ path("fos_user_security_check") }}" method="post" class="form-signin">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
<h2 class="form-signin-heading">Veuillez vous connecter</h2>
<br>
<label for="username" class="sr-only">{{ 'security.login.username'|trans }}</label>
<input type="text" id="username" name="_username" value="{{ last_username }}" placeholder="Identifiant ou Adresse email" class="form-control" required autofocus />
<br>
<label for="password" class="sr-only">{{ 'security.login.password'|trans }}</label>
<input type="password" id="password" name="_password" class="form-control" placeholder="Mot de passe" required />
<a href="{{ path('fos_user_resetting_request') }}">Mot de passe oublié</a> <br><br>
<input type="submit"
class="btn btn-lg btn-primary btn-block"
id="_submit"
name="_submit"
value="{{ 'security.login.submit'|trans }}" />
</form>
{% endblock fos_user_content %}
{% block stylesheets %}
<style>
body {
padding-top: 40px;
padding-bottom: 40px;
background-color: #eee;
}
.form-signin {
max-width: 330px;
padding: 15px;
margin: 0 auto;
}
.form-signin .form-signin-heading,
.form-signin .checkbox {
margin-bottom: 10px;
}
.form-signin .checkbox {
font-weight: normal;
}
.form-signin .form-control {
position: relative;
height: auto;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 10px;
font-size: 16px;
}
.form-signin .form-control:focus {
z-index: 2;
}
.form-signin input[type="email"] {
margin-bottom: -1px;
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
}
.form-signin input[type="password"] {
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
</style>
{% endblock %} |
ne fonctionne toujours pas
Bonjour,
Je comprend pas, ca ne marche pas :'(
J'ai toujours le problème avec le bouton inscription et bouton connexion.
Le bouton inscription marche à condition que je me sois connecté avant, ce qui est débile.
Si je modifie le anonymous a true dans le security.yml, a ce moment la le inscription marche mais la connexion ne se fait plus.
Je comprend vraiment pas comment regler ce probleme...
Page Profile FOSUserBundle
Bonjour,
La redirection ne fonctionnant toujours pas (je n'ai pas encore réussi à faire le onAuthenticationSucess), je passe à autre chose afin d'avancer dans le travail et je reviendrai dessus plus tard.
Je souhaite maintenant éditer la page "profile" générée par FOSuserBundle accessible à l'url 127.0.0.1:8000/profile.
J'ai réussi à afficher dans cette page le username, l'adresse mail, le nom et prenom (que j'ai rajouté moi même dans l'entity User.php) grâce aux ligne
<p>{{ 'Nom'|trans }}: {{ user.nom }}</p> etc etc.
Je souhaite maintenant affiché d'autres données récupérée dans d'autre table (le rôle de l'utilisateur par exemple accessible dans la table User, ainsi que le last_login et le mot de passe). Mais je ne vois pas du tout comment faire et je ne trouve aucune réponse sur google.
Je sais qu'il faut faire des requêtes pour récupérer les données de la BD mais je ne sais pas trop ou les faire puisque cela fonctionne avec FOSUserBundle.
Merci de votre aide.
Bonne journée.