Instradamento URL per schema dettagli principale [chiuso]

0

Esistono best practice per il routing degli URL in un'applicazione di dettaglio principale?

Diciamo che il master è una lista di frutti. E il master può essere filtrato in base alla sicurezza dell'utente (non tutti gli utenti hanno accesso a banane, filtri lato client (mostrano solo frutta verde), ecc.

La rotta URL per una mela non può essere semplice come / apple, perché non c'è alcuna garanzia che Apple sia attualmente nell'elenco principale.

O avrebbe senso gestire gli elementi di dettaglio che non sono nel master? Puoi aggiornare l'elenco principale per assicurarti che Apple sia presente oppure lasciare l'elenco principale così com'è, senza apple.

O gestiresti il routing in modo diverso rispetto a / apple?

    
posta Domenic 15.05.2015 - 16:33
fonte

2 risposte

3

Manterrei il tuo routing il più semplice possibile - / apple sembra perfettamente valido.

Se l'utente non è autorizzato a visualizzare / apple, mostra loro un messaggio di errore, se sono autorizzati a farlo, ma Apple è attualmente nascosta dai filtri, rimuoverò tali filtri e mostrerò loro la mela.

Fondamentalmente - i percorsi dovrebbero fare riferimento a risorse distinte e non essere offuscati da altre preoccupazioni.

    
risposta data 15.05.2015 - 18:06
fonte
0

Che cosa userò:

  • /fruit o solo / : consente di selezionare un master che l'utente è autorizzato a vedere.
  • /apple , /banana , ecc. - accedi a un particolare master e mostra i dettagli disponibili. Se l'utente non è autorizzato, risponde con un 403.
  • /apple/seed - accesso a un record di dettaglio; di nuovo, è controllato dall'accesso e dà 403 se l'utente non è autorizzato ad accedere a un particolare dettaglio oa un particolare master.
  • /anything-else - restituisce 403 (non 404) per impedire a un utente di verificare quali frutti esistono e quali no.

Lati positivi: semplicità assoluta, collegamenti facili da ricordare.

Svantaggi: è necessario controllare l'accesso principale su ogni pagina di dettaglio.

    
risposta data 15.05.2015 - 18:33
fonte

Leggi altre domande sui tag