Ich benutze Symfony 2.8.16 mit FOSUserBundle 1.3.7 fos Benutzerverwaltung. In "app/Resources" habe ich einen "FOSUserBundle" Ordner, um die FOSUserBundle Vorlage mit meiner Vorlage zu füllen. Derzeit habe ich eine Anmeldeseite auf der mywebsite.com/login Route.Wie man mehrere Anmeldeformulare mit FOSUserBundle in Symfony macht
Auf den anderen öffentlichen Seiten meiner Website möchte ich oben auf jeder Seite ein kleines Anmeldeformular einfügen.
Wie kann ich das tun?
In app/Resources/config/routing.yml
index:
path: /index
defaults: { _controller: MyBundle:MyController:MyAction }
##################
# FOS User Bundle
##################
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
In app/Resources/FOSUserBundle/views/Sicherheit/login.html.twig
{% extends ": MyLayout.html.twig" %}
{% block fos_user_content %}
{% if error %}
<div class="alert alert-danger">{{ error|trans({}, 'FOSUserBundle') }}</div>
{% endif %}
<form action="{{ path("fos_user_security_check") }}" method="post">
<input type="hidden" name="_csrf_token" value="{{ csrf_token }}" />
<div class="row">
<div class="form-group col-m-6">
<input type="text" class="_username" id="_username" name="_username" value="{{ last_username }}" placeholder="Email ou identifiant" required="required" />
</div>
<div class="form-group col-m-6">
<input type="password" class="_password" id="_password" name="_password" placeholder="Mot de passe" required="required" />
</div>
</div>
<div class="form_action">
<button type="submit" class="button button-default-outline" id="_submit" name="_submit" value="{{ 'security.login.submit'|trans({}, 'FOSUserBundle') }}">Connexion</button>
<div class="__sub">
<label class="remember">
<input type="checkbox" id="remember_me" name="_remember_me" checked> {{ 'security.login.remember_me'|trans({}, 'FOSUserBundle') }}
<span class="separator">|</span>
<a href="#" class="forgot">Mot de passe oublié ?</a>
</label>
</div>
</div>
</form>
{% endblock fos_user_content %}
Aber ich weiß, dass das von FosUserBundle generierte Login-Formular ein csrf-Token enthält, das von FOSUserBundle generiert wird. Aber diese Methode lässt nicht FOSUserBundle generiert es ist csrf Token – dada17xs
FOSUserBundle überprüft das csrf-Token mit der Absicht "authentifizieren", so wird dies funktionieren – LP154
Ist dies die richtige Methode, um mehrere Login-Formular zu machen? Und kann ich die gleiche Methode für die anderen FOSUserBundle Form und Ansichten verwenden? – dada17xs