Rumah >pembangunan bahagian belakang >tutorial php >Pengurusan Pengguna Asas di Symfony2 dengan Fosusbundle

Pengurusan Pengguna Asas di Symfony2 dengan Fosusbundle

Joseph Gordon-Levitt
Joseph Gordon-Levittasal
2025-02-16 09:51:09422semak imbas

Tutorial ini menunjukkan cara mengintegrasikan Fosusbundle ke dalam projek Symfony untuk Pengesahan dan Pengurusan Pengguna. Fosuserbundle Memudahkan Pendaftaran Pengguna, Log masuk, Reset Kata Laluan, dan Pengurusan Profil, Memanfaatkan Sistem Keselamatan Symfony.

Ciri -ciri utama Fosuserbundle:

  • dibina di atas sistem keselamatan Symfony.
  • menyokong MongoDB dan Orms seperti doktrin dan dorongan.
  • konfigurasi minimum dan perubahan kod yang diperlukan untuk integrasi.
  • templat extensible dan disesuaikan untuk pengalaman pengguna yang diperibadikan.
  • Ciri -ciri seperti pengesahan e -mel, semula kata laluan, dan penyuntingan profil.
  • menyokong keselamatan berasaskan peranan Symfony.

(imej: persediaan homestead yang lebih baik)

Basic User Management in Symfony2 with FOSUserBundle

Menyediakan projek Symfony:

Panduan ini menggunakan Homestead bertambah baik. Tambahkan tapak baru ke fail

anda: Homestead.yml

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

ke fail 192.168.10.10 symfonylogin.app anda. Boot VM dengan /etc/hosts. vagrant up

Pasang pemasang Symfony dalam VM menggunakan

dan arahan ini: vagrant ssh

<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>
Buat aplikasi Symfony baru:

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

dengan pangkalan data dan tetapan e -mel anda. Akses aplikasi Skeleton di parameters.yml. http://symfonylogin.app (nota: untuk vagrant, anda mungkin perlu menyesuaikan untuk memasukkan ip host anda.) app_dev.php

Mengintegrasikan Fosuserbundle:

  1. Pemasangan: Gunakan komposer:

    <code class="language-bash">composer require friendsofsymfony/user-bundle "~2.0@dev"</code>
  2. Pendaftaran bundle: dalam , tambah AppKernel.php ke array new FOSUserBundleFOSUserBundle(). $bundles

  3. Konfigurasi (): config.yml Dayakan penterjemah:

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

    security.yml

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

    <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>
    Entiti pengguna
  4. (): Buat entiti pengguna yang memanjangkan

    : src/AppBundle/Entity/User.php FOSUserBundleModelUser

    <code class="language-php"><?php
    // ... (Entity code as in original example)
    ?></code>
    Kemas kini Skema pangkalan data:
  5. Laluan import (
    <code class="language-bash">php app/console doctrine:schema:update --force</code>
    ):
  6. routing.yml

    (imej: borang pendaftaran lalai)
    <code class="language-yaml">fos_user:
        resource: "@FOSUserBundle/Resources/config/routing/all.xml"</code>

Menyesuaikan templat:

Buat app/Resources/FOSUserBundle/views/Registration/ dan salin templat yang diperlukan dari vendor/friendsofsymfony/user-bundle/Resources/views/Registration/. Ubah suai templat ini untuk menyesuaikan penampilan borang pendaftaran. Contoh pengubahsuaian kepada register.html.twig dan register_content.html.twig ditunjukkan dalam contoh asal.

(imej: borang pendaftaran tersuai)

Basic User Management in Symfony2 with FOSUserBundle

Penyesuaian lebih lanjut:

    terjemahan:
  • Sesuaikan fail terjemahan dalam . app/Resources/translations/
  • Login:
  • Fungsi log masuk lalai cukup untuk banyak aplikasi.
  • Reset Kata Laluan:
  • Fungsi tetapan semula kata laluan dibina.
  • Profil Pengguna:
  • Sesuaikan templat halaman profil.
  • Ringkasan yang dipertingkatkan ini memberikan penjelasan yang lebih ringkas dan teratur mengenai proses integrasi Fosuserbundle, sambil mengekalkan maklumat dan imej utama dari input asal. Bahagian FAQ ditinggalkan untuk keringkasan kerana tutorial itu sendiri secara komprehensif menangani perkara tersebut.

Atas ialah kandungan terperinci Pengurusan Pengguna Asas di Symfony2 dengan Fosusbundle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn