Je développe un site Web dans ASP.NET MVC où j'aimerais montrer différentes sections d'une vue pour les utilisateurs avec différents niveaux de sécurité. En substance, les vues sont les mêmes, mais les utilisateurs avec des niveaux de sécurité plus élevés doivent être en mesure de voir les sections qui ne doivent pas être vues par les utilisateurs avec des niveaux de sécurité au-dessus, par exemple, des administrateurs.Comment afficher différentes sections de vue de manière orientée objet
Je ne sais pas comment faire cela d'une manière orientée objet. Je pense que cela peut être fait avec l'héritage, mais je ne sais pas comment implémenter l'héritage dans la vue.
Aussi, je sais que je peux coder un bon nombre d'ifs, de faire quelque chose comme
<% if (User has some security level) { %>
<span>show this info</span>
<% } %>
mais cela ne sent pas bien. Le fait est que je ne sais pas comment utiliser les principes orientés objet ou la conception pour cette tâche. Je pense que c'est une tâche courante, donc je pense qu'il existe un modèle pour accomplir cette tâche. Par exemple, Stackoverflow le fait quand il montre certaines options (modifier, supprimer, etc.) pour l'utilisateur qui a posté une question (ou une réponse ou un commentaire) et cache les mêmes options à tout le monde.
C'est pas orienté objet, et si la l'utilisateur a javascript désactivé ne fonctionne pas – eKek0
Je suis d'accord avec eKek0. En outre, je crois fermement que Views ne devrait pas avoir de logique. En d'autres termes, le code intégré dans une vue doit avoir une complexité cyclomatique de 1; c'est-à-dire aucune déclaration "if". –
Je pense que vous êtes trop préoccupé par le faire OO - votre vue devrait être bête et toute la logique soit dans le contrôleur, juste passer les informations nécessaires à travers un modèle –