| .. | ||
| README.md | ||
👥 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:
// Accesso completo sistema
- ✅ Gestione tutti gli stabili
- ✅ Configurazione sistema
- ✅ Gestione utenti
- ✅ Export/Import dati
🔸 AMMINISTRATORE CONDOMINIALE:
// Accesso limitato ai propri stabili
- ✅ Gestione stabili assegnati
- ✅ Tabelle millesimali
- ✅ Gestione finanziaria
- ❌ Configurazione sistema
🔹 CONDOMINO:
// Accesso solo propria unità
- ✅ Visualizzazione dati personali
- ✅ Estratti conto
- ✅ Documenti unità
- ❌ Modifica dati
🔸 READ-ONLY:
// Solo consultazione
- ✅ Visualizzazione dati
- ❌ Modifiche
- ❌ Export
- ❌ Configurazioni
🎯 IMPLEMENTAZIONE PIANIFICATA
1. Database Schema:
-- 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:
// Route protection
Route::middleware(['auth', 'role:admin'])->group(function () {
Route::get('/admin/stabili', [StabileController::class, 'index']);
});
3. Blade Directives:
@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