About Me

header ads

Phân quyền xem báo cáo CDR report trong Elastix

Bài toán: Xây dựng tổng đài Elastix, sau khi xây dựng xong, các phòng ban khác yêu cầu phải xem được dữ liệu CDR, file ghi âm để tính toán KPI, và làm các công việc quản lý khác
Cách giải quyết:
- Vào trang quản trị Elastix --> System --> Groups: tạo 1 group mới, Ví dụ ở đây là khaithac
Chọn group permissions để tiến hành gán quyền cho nhóm này, hiện tại ko có quyền gì

ta chọn cho nhóm này chỉ có quyền truy cập vào CDR thôi

Tiếp theo ta bấm vào user, tạo user mới = khaithac1, và gán vào nhóm khaithac
Như vậy ta đã có user cấp cho các phòng ban liên quan, với quyền hạn chế.
Nhưng trên elastix có 1 bug nho nhỏ, đó là user đó đăng nhập vào k xem được CDR reports
Điều này xảy ra do lỗi trên module report của elastix, chúng ta cần sửa lại module này để user có quyền khác admin có thể truy cập được. Bằng cách sửa lại file sau:
/var/www/html/libs/paloSantoACL.class.php
tìm đến dòng
  function isUserAdministratorGroup($username)
sửa lại toàn bộ function này như sau:
  function isUserAdministratorGroup($username)
    {
        $is=false;
        $idUser = $this->getIdUser($username);
        if($idUser){
            $arrGroup = $this->getMembership($idUser);
            //$is = array_key_exists('administrator',$arrGroup);
            $is = array_search('1', $arrGroup);
   if(isset($arrGroup['khaithac'])) $is=true;
        }
        return $is;
    }

Trong đó, 
(isset($arrGroup['khaithac'])) $is=true;
khaithac là nhóm mà ta cần set quyền xem

Và bây giờ đã có thể xem được báo cáo bằng user khaithac1 như bình thường


Đăng nhận xét

0 Nhận xét