165 lines
3.1 KiB
Markdown
Executable File
165 lines
3.1 KiB
Markdown
Executable File
# 👥 ACCESSO ATOMIZZATO - NetGescon
|
|
## Sistema Ruoli, Permessi e Accesso Selettivo
|
|
|
|
### 📋 CONTENUTI CATEGORIA:
|
|
|
|
#### 🔐 **SISTEMA RUOLI E PERMESSI**
|
|
- Definizione ruoli utente
|
|
- Matrice permessi granulari
|
|
- Autenticazione multi-livello
|
|
- Integrazione Laravel Sanctum
|
|
|
|
#### 👤 **GESTIONE UTENTI MULTI-LIVELLO**
|
|
- Super Admin
|
|
- Amministratore Condominiale
|
|
- Condomino Standard
|
|
- Utente Read-Only
|
|
|
|
#### 🎯 **ACCESSO SELETTIVO MODULI**
|
|
- Permessi per singolo tab
|
|
- Accesso contextual ai dati
|
|
- Filtri basati su stabili
|
|
- Audit trail completo
|
|
|
|
#### 🛡️ **AUDIT E SICUREZZA**
|
|
- Log accessi utenti
|
|
- Tracciamento modifiche
|
|
- Session management
|
|
- Security best practices
|
|
|
|
---
|
|
|
|
## 🏗️ ARCHITETTURA RUOLI (PIANIFICATA)
|
|
|
|
### 🔹 **SUPER ADMIN**:
|
|
```php
|
|
// Accesso completo sistema
|
|
- ✅ Gestione tutti gli stabili
|
|
- ✅ Configurazione sistema
|
|
- ✅ Gestione utenti
|
|
- ✅ Export/Import dati
|
|
```
|
|
|
|
### 🔸 **AMMINISTRATORE CONDOMINIALE**:
|
|
```php
|
|
// Accesso limitato ai propri stabili
|
|
- ✅ Gestione stabili assegnati
|
|
- ✅ Tabelle millesimali
|
|
- ✅ Gestione finanziaria
|
|
- ❌ Configurazione sistema
|
|
```
|
|
|
|
### 🔹 **CONDOMINO**:
|
|
```php
|
|
// Accesso solo propria unità
|
|
- ✅ Visualizzazione dati personali
|
|
- ✅ Estratti conto
|
|
- ✅ Documenti unità
|
|
- ❌ Modifica dati
|
|
```
|
|
|
|
### 🔸 **READ-ONLY**:
|
|
```php
|
|
// Solo consultazione
|
|
- ✅ Visualizzazione dati
|
|
- ❌ Modifiche
|
|
- ❌ Export
|
|
- ❌ Configurazioni
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 IMPLEMENTAZIONE PIANIFICATA
|
|
|
|
### 1. **Database Schema**:
|
|
```sql
|
|
-- Tabella Ruoli
|
|
CREATE TABLE roles (
|
|
id INT PRIMARY KEY,
|
|
name VARCHAR(50),
|
|
permissions JSON
|
|
);
|
|
|
|
-- Tabella User-Role
|
|
CREATE TABLE user_roles (
|
|
user_id INT,
|
|
role_id INT,
|
|
stabile_id INT NULL -- Per limitare l'accesso
|
|
);
|
|
```
|
|
|
|
### 2. **Middleware Laravel**:
|
|
```php
|
|
// Route protection
|
|
Route::middleware(['auth', 'role:admin'])->group(function () {
|
|
Route::get('/admin/stabili', [StabileController::class, 'index']);
|
|
});
|
|
```
|
|
|
|
### 3. **Blade Directives**:
|
|
```blade
|
|
@can('manage', $stabile)
|
|
<!-- Mostra controlli admin -->
|
|
<button>Modifica</button>
|
|
@endcan
|
|
|
|
@role('condomino')
|
|
<!-- Mostra solo dati personali -->
|
|
@endrole
|
|
```
|
|
|
|
---
|
|
|
|
## 🔐 SECURITY FEATURES
|
|
|
|
### Autenticazione:
|
|
- Laravel Sanctum per API
|
|
- Session-based per web
|
|
- 2FA opzionale
|
|
- Password policies
|
|
|
|
### Autorizzazione:
|
|
- Role-based access control
|
|
- Resource-level permissions
|
|
- Context-aware filtering
|
|
- Audit logging
|
|
|
|
### Data Protection:
|
|
- GDPR compliance
|
|
- Data encryption
|
|
- Secure file uploads
|
|
- Access logging
|
|
|
|
---
|
|
|
|
## 📊 ROADMAP IMPLEMENTAZIONE
|
|
|
|
### 🎯 **FASE 1 - Base Sistema**:
|
|
- [ ] Setup Laravel Sanctum
|
|
- [ ] Database schema ruoli
|
|
- [ ] Basic authentication
|
|
- [ ] Admin interface
|
|
|
|
### 🎯 **FASE 2 - Permessi Granulari**:
|
|
- [ ] Role assignment
|
|
- [ ] Permission matrix
|
|
- [ ] Middleware protection
|
|
- [ ] Blade directives
|
|
|
|
### 🎯 **FASE 3 - UI Dinamica**:
|
|
- [ ] Context-sensitive menus
|
|
- [ ] Filtered data views
|
|
- [ ] User-specific dashboards
|
|
- [ ] Audit interface
|
|
|
|
### 🎯 **FASE 4 - Advanced**:
|
|
- [ ] 2FA integration
|
|
- [ ] API access tokens
|
|
- [ ] Mobile app support
|
|
- [ ] SSO integration
|
|
|
|
---
|
|
|
|
**📅 STATO: IN PIANIFICAZIONE**
|
|
**🎯 PRIORITÀ: ALTA - Implementazione prevista dopo completamento interfaccia**
|