Tworzę aplikację sieciową opartą na interfejsie API. W tej aplikacji mamy różne warstwy, które wykonują swoją pracę.
Pierwsza warstwa to warstwa sprawdzania poprawności , która zatwierdza dane wprowadzone przez użytkownika, a jeśli przejdzie sprawdzanie poprawności, przenosimy ją do drugiej warstwy (która jest warstwą kontroli dostępu ), w przeciwnym razie zwracamy komunikat o błędzie
Druga warstwa to kontrola dostępu, która sprawdza, czy użytkownik ma uprawnienia do wykonania zadania, które chce wykonać. Jeśli użytkownik ma uprawnienia, przenosi żądanie do następnej warstwy, w przeciwnym razie zwraca komunikat o błędzie
Trzecia warstwa to warstwa kontrolera, w której mamy logikę aplikacji
Moje pytanie brzmi: czy można mieć warstwę sprawdzania poprawności przed kontrolą dostępu? Co się stanie, jeśli użytkownik spróbuje wykonać zadanie, do którego nie ma uprawnień, a my odeślemy komunikat o błędzie sprawdzania poprawności? Użytkownik wysyła żądania do punktu końcowego i rozmawia z warstwą sprawdzania poprawności, a gdy tylko przejdzie walidację, zobaczy komunikatYou can't access this!
Wydaje mi się to dziwne, więc czy tak jest dobrze, czy jakie mogą być moje inne opcje infrastruktury?