Heim >Backend-Entwicklung >PHP-Tutorial >Grundlegende Benutzerverwaltung in Symfony2 mit Fosuserbundle

Grundlegende Benutzerverwaltung in Symfony2 mit Fosuserbundle

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-02-16 09:51:09420Durchsuche

Dieses Tutorial zeigt, wie Fosuserbundle in ein Symfony -Projekt für die Benutzerauthentifizierung und -verwaltung integriert wird. Fosuserbundle vereinfacht die Registrierung von Benutzer, Anmeldungen, das Kennwortresets und die Profilverwaltung, die das Sicherheitssystem von Symfony nutzt.

Schlüsselmerkmale von Fosuserbundle:

  • auf dem Sicherheitssystem von Symfony aufgebaut.
  • unterstützt MongoDB und Orms wie Doktrin und Antrieb.
  • minimale Konfigurations- und Codeänderungen, die für die Integration erforderlich sind.
  • Erweiterbare und anpassbare Vorlagen für eine personalisierte Benutzererfahrung.
  • Funktionen wie E -Mail -Bestätigung, Kennwortresets und Profilbearbeitung.
  • unterstützt Symfonys rollenbasierte Sicherheit.

(Bild: Homestead verbessertes Setup)

Basic User Management in Symfony2 with FOSUserBundle

Einrichten des Symfony -Projekts:

Dieser Leitfaden verwendet das Gehöft, das verbessert wurde. Fügen Sie Ihrer Homestead.yml -Datei eine neue Site hinzu:

<code class="language-yaml">sites:
    - map: symfonylogin.app
      to: /home/vagrant/Code/SymfonyLogin/web
      type: symfony
databases:
    - symfony</code>

add 192.168.10.10 symfonylogin.app zu Ihrer /etc/hosts -Datei. Starten Sie die VM mit vagrant up.

installieren Sie das Symfony -Installationsprogramm in der VM mit vagrant ssh und diese Befehle:

<code class="language-bash">curl -LsS http://symfony.com/installer > symfony
sudo mv symfony /usr/local/bin/symfony
chmod a+x /usr/local/bin/symfony</code>

Erstellen Sie eine neue Symfony -Anwendung:

<code class="language-bash">cd Code
symfony new SymfonyLogin</code>

Konfigurieren Sie parameters.yml mit Ihren Datenbank- und E -Mail -Einstellungen. Greifen Sie auf die Skelettanwendung bei http://symfonylogin.app zu. (Hinweis: Für Vagrant müssen Sie möglicherweise app_dev.php anpassen, um Ihren Host -IP einzuschließen.)

Integration von FosuserBundle:

  1. Installation: Verwenden Sie den Komponisten:

    <code class="language-bash">composer require friendsofsymfony/user-bundle "~2.0@dev"</code>
  2. Bundle Registrierung: In AppKernel.php, add new FOSUserBundleFOSUserBundle() zum $bundles -Array.

  3. Konfiguration (config.yml):

    Aktivieren Sie den Übersetzer:

    <code class="language-yaml">translator:      { fallbacks: ["%locale%"] }</code>

    Sicherheit in security.yml:

    konfigurieren
    <code class="language-yaml">security:
        encoders:
            AppBundle\Entity\User: bcrypt
        # ... (rest of security configuration)</code>

    FOSUSERBUNDLE -Konfiguration hinzufügen:

    <code class="language-yaml">fos_user:
        db_driver: orm
        firewall_name: main
        user_class: AppBundle\Entity\User
        from_email:
            address:     admin@example.com
            sender_name:    Example.com
        registration:
            confirmation:
                enabled: true
                template:   FOSUserBundle:Registration:email.txt.twig</code>
  4. Benutzerentität (src/AppBundle/Entity/User.php): Erstellen einer Benutzerentität erweitert FOSUserBundleModelUser:

    <code class="language-php"><?php
    // ... (Entity code as in original example)
    ?></code>
  5. Datenbankschema aktualisieren:

    <code class="language-bash">php app/console doctrine:schema:update --force</code>
  6. Routen importieren (routing.yml):

    <code class="language-yaml">fos_user:
        resource: "@FOSUserBundle/Resources/config/routing/all.xml"</code>

(Bild: Standardregistrierungsformular)

Basic User Management in Symfony2 with FOSUserBundle

Anpassung Vorlagen:

erstellen app/Resources/FOSUserBundle/views/Registration/ und kopieren Sie die erforderlichen Vorlagen aus vendor/friendsofsymfony/user-bundle/Resources/views/Registration/. Ändern Sie diese Vorlagen, um das Erscheinungsbild des Registrierungsformulars anzupassen. Beispielmodifikationen zu register.html.twig und register_content.html.twig sind im ursprünglichen Beispiel gezeigt.

(Bild: Anpassungsregistrierungsformular)

Basic User Management in Symfony2 with FOSUserBundle

Weitere Anpassung:

  • Übersetzung: Anpassen von Übersetzungsdateien in app/Resources/translations/.
  • Login: Die Standard -Anmeldefunktionalität ist für viele Anwendungen ausreichend.
  • Kennwort zurückgesetzt: Die Funktionalität des Kennworts ist integriert.
  • Benutzerprofil: Passen Sie die Profilseitenvorlage an.

Diese verbesserte Zusammenfassung liefert eine prägnantere und organisiertere Erklärung des Integrationsprozesses von Fosuserbundle, wobei die wichtigsten Informationen und Bilder aus der ursprünglichen Eingabe beibehalten werden. Der FAQ -Abschnitt wird für die Kürze weggelassen, da das Tutorial selbst diese Punkte umfassend behandelt.

Das obige ist der detaillierte Inhalt vonGrundlegende Benutzerverwaltung in Symfony2 mit Fosuserbundle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn