sql >> Databáze >  >> RDS >> Mysql

Symfony3 jak ukládat uživatelské role do databáze

Zde je to, co jsem udělal, abych se toho problému zbavil,

Definujte role v /app/config/security.yml, jak je uvedeno níže,

role_hierarchy:
    ROLE_ADMIN:         [ROLE_ADMIN]
    ROLE_SUPER_ADMIN:   [ROLE_SUPER_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    ROLE_TEACHER:       [ROLE_TEACHER]
    ROLE_STUDENT:       [ROLE_STUDENT]
    ROLE_PARENT:        [ROLE_PARENT]

v Controlleru získejte role z /app/config/security.yml pomocí následujícího kódu

$roles = $this->getParameter('security.role_hierarchy.roles');

a toto je kód pro role ve formtype,

$roles = $this->getParent('security.role_hierarchy.roles');

a poté ve formě typu (zde je to vícenásobný výběr)

->add('roles', ChoiceType::class, array(
    'attr'  =>  array('class' => 'form-control',
    'style' => 'margin:5px 0;'),
    'choices' => 
    array
    (
        'ROLE_ADMIN' => array
        (
            'Yes' => 'ROLE_ADMIN',
        ),
        'ROLE_TEACHER' => array
        (
            'Yes' => 'ROLE_TEACHER'
        ),
        'ROLE_STUDENT' => array
        (
            'Yes' => 'ROLE_STUDENT'
        ),
        'ROLE_PARENT' => array
        (
            'Yes' => 'ROLE_PARENT'
        ),
    ) 
    ,
    'multiple' => true,
    'required' => true,
    )
)

Upravit Uživatelské role musí být definovány v /app/config/security.yml, jak je uvedeno níže

role_hierarchy:
    ROLE_ADMIN:         [ROLE_ADMIN]
    ROLE_SUPER_ADMIN:   [ROLE_SUPER_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    ROLE_TEACHER:       [ROLE_TEACHER]
    ROLE_STUDENT:       [ROLE_STUDENT]
    ROLE_PARENT:        [ROLE_PARENT]


  1. Jak odkazovat na klíče JSON, které obsahují speciální znaky při používání OPENJSON, JSON_QUERY a JSON_VALUE (SQL Server)

  2. Používání dat chráněných pomocí vlastního úložiště klíčů z Linuxu

  3. Použití modulu MariaDB Audit pro zabezpečení databáze

  4. Udržování pořádku v dotazu MySQL IN