Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Symfony3 cách lưu trữ vai trò người dùng trong cơ sở dữ liệu

Đây là những gì tôi đã làm để giải quyết vấn đề,

Xác định Vai trò trong /app/config/security.yml như bên dưới,

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]

trong Bộ điều khiển, nhận các vai trò từ /app/config/security.yml bằng cách sử dụng mã sau

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

và đây là mã cho các vai trò trong formtype,

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

và sau đó ở dạng formtype, (ở đây là multi select)

->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,
    )
)

Chỉnh sửa Vai trò người dùng phải được xác định trong /app/config/security.yml như bên dưới

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn các hàng được nhóm lại chỉ có giá trị NULL?

  2. nhận giá trị từ cơ sở dữ liệu MySQL với PHP

  3. Làm thế nào để tăng tốc truy vấn sql? Các chỉ số?

  4. pdo lastInsertId trả về không (0)

  5. REPLACE không phân biệt chữ hoa chữ thường trong MySQL?