Sto pensando di utilizzare un controller di base per l'intero progetto MVC 4 su cui sto lavorando. Ho trovato opinioni contrastanti online su di esso e non sono sicuro se sia contro le migliori pratiche o se si tratti solo di preferenze personali.utilizzando un controller di base per l'intero progetto asp.net MVC 4
Ecco un post che dice StackOverflow dont do it
Here è un post che ha dimostrato come si fa come se non ci sono effetti nocivi di esso. Here e here e spiegano il suo utilizzo in cui nessuno sottolinea che si tratta di pratiche scorrette o che potrebbero portare a problemi futuri.
Allora, qual è realmente la vista sull'utilizzo di un paio di controller di base in un progetto di 4 MVC? Buona? Cattivo?
Modifica
Vorrei anche sottolineare che il mio obiettivo immediato per l'utilizzo di un controller di base è così che io possa avere l'autorizzazione fatto in un controller e in modo che tutti i controllori non hanno bisogno di avere l'attributo Authorize. Creerò controller di base separati per ciascun ruolo. Poiché i ruoli non cambieranno mai, non avrò mai bisogno di creare un altro controller di base per un altro ruolo. Cosa ne pensi di questo modo di progettare i controller?
Grazie per il vostro tempo.
vedi questo. Stavo cercando di evitare di decorare ogni controller con l'attributo authorize. Voglio solo che gli sviluppatori junior sappiano che se stanno lavorando su una pagina a cui solo un amministratore può accedere, dovrebbero ereditare da AdminController. Vorrei enum ognuno di questi ruoli con Admin come il numero 1 sulla lista .. quindi nel mio attributo di autorizzazione personalizzato posso avere solo un controllo maggiore o minore del valore enum fornito dal controller di base – user20358
Il problema può sorgere se avete requisiti complessi su quali ruoli sono autorizzati a fare quali cose. Sto parlando se i requisiti cambiano in seguito. Decorare i controller con una sorta di "AuthorizateAttribute" personalizzato è probabilmente migliore (vedi link nella risposta modificata). –
Grazie. lo verificherà. – user20358