LMS - LAN Management System 1.11-git
Poprzedni | Rozdział 2. Instalacja i konfiguracja | Następny

# 2.7. Prawa dostępu

## 2.7.1. Idea

LMS ma możliwość zdefiniowania do 256 reguł dostępu do systemu. Każda z nich może zabraniać, bądź pozwalać na dostęp do konkretnych modułów. Każdemu użytkownikowi można przydzielić dowolną kombinację reguł dostępu.

Domyślnie zdefiniowana jest następująca lista reguł dostępu:

- pełen dostęp

- odczyt wszystkich danych (z wyjątkiem Helpdesku)

- podłączanie i odłączanie komputerów

- zarządzanie finansami

- przeładowywanie konfiguracji

- zarządzanie klientami

- zarządzanie komputerami

- dostęp do statystyk

- dostęp do korespondencji seryjnej

- zarządzanie Helpdeskiem (RT)

- obsługa Helpdesku (RT)

- zarządzanie hostingiem

- konfiguracja interfejsu użytkownika

- zarządzanie sieciami i urządzeniami sieciowymi

- zarządzanie terminarzem

- zarządzanie i konfiguracja demona

- operacje kasowe

- zarządzanie grupami klientów

- zarządzanie grupami komputerów

- przypisywanie klientów do grup

- przypisywanie komputerów do grup

- zarządzanie kontami voip

- zarządzanie Userpanelem

- brak dostępu do modyfikacji i zakładania kont użytkowników

- brak dostępu

Niektóre z nich zezwalają na dostęp do modułów oraz dwie zabraniają. Moduły do których użytkownik ma zawsze dostęp to: welcome, copyrights, logout, chpasswd (przy czym chpasswd umożliwia tylko zmianę własnego hasła), dostęp do reszty jest zdefiniowany regułami.

| Jeśli nie ustawimy użytkownikowi żadnej reguły dostępu, to LMS domyślnie przydzieli mu regułkę 0, czyli pełen dostęp.

## 2.7.2. Jak to działa?

Decyzja czy użytkownik ma prawo dostępu do modułu czy nie przebiega następująco:

- najpierw sprawdzana jest lista modułów, do których zawsze ma się dostęp,
- potem następuje sprawdzenie czy moduł pasuje do reguł w poszczególnych poziomach, do których użytkownik ma dostęp,
- na końcu podejmowana jest decyzja czy użytkownik ma uprawnienia by do modułu się dobrać. Jeżeli moduł się załapał na którykolwiek poziom, który zabrania dostępu, dostęp zostanie zabroniony nawet jeżeli użytkownik ma ustawiony poziom, który pozwala na dostęp do modułu (np. ktoś ma pełny dostęp oraz brak dostępu do modułu dodawania komputerów, nie będzie on mógł się odwołać do tego modułu). Jeżeli moduł pasuje do poziomu, który pozwala na dostęp do danego modułu LMS zezwala na dalszą pracę. Jeżeli natomiast moduł się nie "załapał" na żaden poziom również zostanie mu wyświetlony komunikat o braku dostępu.

## 2.7.3. Reguły dostępu definiowane przez użytkownika

Zaawansowani użytkownicy mają możliwość zdefiniowania dodatkowych dowolnych reguł dostępu lub przedefiniowania istniejących. W tym celu należy utworzyć skrypt PHP na wzór `lib/accesstable.php`. Lokalizację pliku podajemy w opcji `custom_accesstable` sekcji [phpui].

W ten sposób można zdefiniować własne reguły zezwalające lub zabraniające dostępu do dowolnych modułów. Moduł to nazwa pliku PHP z katalogu `modules`, którą w regułach dostępu podajemy bez rozszerzenia. Dla przykładu, można zdefiniować uprawnienie do odczytu faktur (np. na potrzeby skryptu lms-sendinvoices) w następujący sposób:

    <?php
    $access['table'][100]['name']      = 'odczyt faktur';
    $access['table'][100]['allow_reg'] = '^invoice$';
    ?>

Poprzedni | Spis treści | Następny
Konfiguracja podstawowa | Początek rozdziału | Upgrade