1

Je développe un site Web en utilisant asp.net mvc avec MySQL et je dois faire une zone de restriction simple pour l'utilisateur de mettre à jour certaines informations dans le site Web. Donc, j'avais créé une zone dans l'application mvc appelée "Admin", et je sais comment la protéger en utilisant l'authentification par formulaire et l'attribut Autoriser! Cela fonctionne bien, mais dans chaque contrôleur de ma zone, je dois définir l'attribut Autoriser pour les protéger. Est-il possible de protéger toute la zone dans Web.config? Comment puis je faire ça?Formulaires Authentification (restreindre une zone)

Merci

Vive

Répondre

5

Vous ne devez pas utiliser l'autorisation Web.config basée sur l'emplacement dans une application MVC. Cela entraînerait des failles de sécurité sur votre site. Le moyen le plus simple d'obtenir le comportement que vous recherchez est d'avoir un AdminBaseController qui a un attribut [Authorize], puis de faire en sorte que chaque contrôleur de votre zone Admin sous-classe directement ce type. L'attribut passera du type de base aux types sous-classés.

+0

Est-ce la seule façon de le faire? Parce que cette solution ne semble pas très élégante, je vais devoir m'assurer que tous mes contrôleurs sous-classent le contrôleur de base. Je pourrais tout aussi bien ajouter l'attribut requis à tous les contrôleurs. –

+0

@RosdiKasim, vous pouvez ajouter le filtre d'autorisation à la liste des filtres globaux si vous le souhaitez. Ensuite, chaque contrôleur l'obtient automatiquement. Si vous faites cela, placez l'attribut [AllowAnonymous] sur les contrôleurs individuels ou les actions pour les désactiver du filtre d'autorisation global. – Levi

+0

pouvez-vous s'il vous plaît dites-moi pourquoi cela conduirait à des vulnérabilités? – vmg

0

Un peu votre question que vous voulez utiliser Web.config, mais vous pouvez utiliser PostSharp (un aspect cadre orienté) pour injecter des attributs sur les méthodes.

+0

Bel homme, merci pour aswer ... Nous allons étudier cette suggestion! –

Questions connexes