ozznest/security-user

安全用户轻松集成包

安装数: 3,465

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 1

类型:symfony-bundle

v0.1.1 2016-11-19 05:30 UTC

This package is auto-updated.

Last update: 2024-09-10 22:48:31 UTC


README

使用Composer安装

composer require youshido/security-user

在AppKernel.php中启用

new new Youshido\SecurityUserBundle\YoushidoSecurityUserBundle(),

创建您的用户类

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Youshido\SecurityUserBundle\Entity\SecuredUser;

/**
 * User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity
 */
class User extends SecuredUser
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    //your custom fields

创建用户表单(如有需要)

<?php

namespace AppBundle\Form\Type;

use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Youshido\SecurityUserBundle\Form\Type\SecuredUserType;

class UserType extends SecuredUserType
{

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        parent::buildForm($builder, $options);
    
        $builder
            ->add('plan', 'entity', [
                'class' => 'AppBundle\Entity\Plan'
            ])
            ->add('terms', 'checkbox', [
                'mapped' => false,
            ])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => 'AppBundle\Entity\User'
        ]);
    }

将内容插入到您的security.yml文件中

providers:
    yuser_provider:
        entity:
            class: /* your user class */
            property: email

encoders:
    /* your user class */: md5

firewalls:
    dev:
        pattern: ^/(_(profiler|wdt|error)|css|images|js)/
        security: false
        
    default:
        pattern: ^/
        provider: yuser_provider
        anonymous: ~
        form_login:
            login_path: security.login
            check_path:  security.login_check
            success_handler: security.authentication_handler
            failure_handler: security.authentication_handler
        logout:
            path:   security.logout
            target: /

配置插件(必需!)

youshido_security_user:
    model: /* your user class */

可用的配置选项

youshido_security_user:
    model: /* your user class */
    templates:
        login_form: @YoushidoSecurityUser/Security/login.html.twig
        register_form: @YoushidoSecurityUser/Security/register.html.twig
        activation_success: @YoushidoSecurityUser/Security/activation_success.html.twig
        
        recovery_form: @YoushidoSecurityUser/Security/recovery.html.twig
        recovery_success: @YoushidoSecurityUser/Security/recovery_success.html.twig
        
        change_password_success: @YoushidoSecurityUser/Security/change_password_success.html.twig
        change_password_error: @YoushidoSecurityUser/Security/recovery_error.html.twig
        change_password_form: @YoushidoSecurityUser/Security/change_password.html.twig
        
        register_letter: @YoushidoSecurityUser/Letters/register_letter.html.twig
        recovery_letter: @YoushidoSecurityUser/Letters/recovery_letter.html.twig
    redirects:
        register_success: homepage
    mailer:
        from: from@test.com
        subject:
            recovery: Recovery letter
            register: Register letter
    form:
        registration: AppBundle\Form\Type\UserType
    send_mails:
        register: true
        recovery: true