Chuyển tới nội dung chính
Phiên bản: 7.2.0

Phân Quyền

Lấy danh sách chức vụ​

Để lấy tất cả các chức vụ trong cms bạn sử dụng method all của class SKD_Roles

Role::make()->all()
//hoặc
$role = Role::make();
$role->all();

Mặt định cms skilldo cung cấp các role

  • administrator
  • subscriber : chức vụ mặc định của khách hàng đăng ký khi website không có thương mại
  • customer: chức vụ mặc định của khách hàng đăng ký khi website có mua bán

Thêm chức vụ​

Để thêm một chức vụ mới trong cms bạn sử dụng method add của class SKD_Roles

Role::add($roleKey1, $roleName1);
Role::add($roleKey2, $roleName2);
//hoặc
$role = Role::make();
$role->add($roleKey1, $roleName1);
$role->add($roleKey2, $roleName2);

method nhận vào 2 tham số, role key là id của chức vụ và role name là tên hiển thị của chức vụ

Cập nhật chức vụ​

Để cập nhật thông tin một chức vụ trong cms bạn sử dụng method update của class SKD_Roles

Role::update($roleKey, $roleName, $capabilities);
//hoặc
$role = Role::make();
$role->update($roleKey, $roleName, $capabilities);

method nhận vào 3 tham số,

  • $roleKey là id của chức vụ muốn cập nhật
  • $roleName là tên hiển thị mới của chức vụ
  • $capabilities là danh sách quyền hạn của chức vụ

Xóa chức vụ​

Để xóa một chức vụ trong cms bạn sử dụng method remove của class SKD_Roles

Role::remove($roleKey1);
Role::remove($roleKey2);
//hoặc
$role = Role::make();
$role->remove($roleKey1);
$role->remove($roleKey2);

method nhận vào role key là id của chức vụ muốn xóa

Thao tác với chức vụ​

Lấy chức vụ​

Để thao tác với chức vụ bạn cần lấy chức vụ đó bằng method get

$role = Role::get('customer');

Kiểm tra quyền​

Để kiểm tra một chức vụ có một quyền nào đó chưa bạn sử dụng method has

if(Role::get('customer')->has('loggin_admin')) {
//
}

Lấy danh sách quyền​

Để lấy danh sách quyền của một chức vụ bạn sử dụng method getCapabilities

$capabilities = Role::get('customer')->getCapabilities();

Thêm quyền vào chức vụ​

Để thêm quyền của một chức vụ bạn sử dụng method add

Role::get('customer')->add('loggin_admin');

Xóa quyền của chức vụ​

Để xóa quyền của một chức vụ bạn sử dụng method remove

Role::get('customer')->remove('loggin_admin');

Quyền hạn thành viên​

UserRole::hasCap​

Method UserRole::hasCap kiểm tra user có quyền sử dụng chức năng không, nếu có quyền trả về true ngược lại là false

if(UserRole::hasCap($userId, 'edit_post')) {
//permission successfully
}

UserRole::getCap​

Method UserRole::getCap trả về các quyền user có thể sử dụng

dd(UserRole::getCap($userId))
/**
"loggin_admin" => true
"switch_themes" => true
"edit_themes" => true
...
*/

UserRole::get​

Method UserRole::get trả về key nhóm (chức vụ) của user

dd(UserRole::get($userId))
//["customer"]

UserRole::getName​

Method UserRole::getName trả về tên nhóm (chức vụ) của user

dd(UserRole::getName($userId))
//Khách hàng

UserRole::add​

Method UserRole::add set user vào nhóm (chức vụ) mới

dd(UserRole::add($userId, 'administrator'))

UserRole::remove​

Method UserRole::remove xóa nhóm (chức vụ) khỏi user

dd(UserRole::remove($userId, 'administrator'))