Sto creando un'applicazione web con strcutured API e in questa applicazione abbiamo diversi livelli che stanno facendo il loro lavoro.
Il primo livello è il livello Validazione che convalida l'input dell'utente e se passa la convalida spostiamo quella al secondo livello (che è controllo di accesso layer) altrimenti restituisce il messaggio di errore
Il secondo livello è Controllo di accesso che verifica se l'utente dispone dell'autorizzazione per eseguire l'attività che desidera eseguire, Se l'utente ha l'autorizzazione sposta la richiesta al livello successivo altrimenti restituisce il messaggio di errore
Il terzo livello è Controller Layer in cui abbiamo la logica dell'applicazione
La mia domanda è che è ok avere un livello di validazione prima del controllo degli accessi? Cosa succede se l'utente sta tentando di eseguire un'attività a cui l'utente non dispone dell'autorizzazione e inviamo un messaggio di errore di convalida? L'utente invierà richieste a un endpoint e parlerà con il livello di convalida e una volta che avrà superato la convalida, visualizzerà il messaggio You can't access this!
Mi sembra strano, quindi va bene così o quali potrebbero essere le mie altre opzioni in infrastruttura?