2009-05-13 8 views
1

Je rencontre des problèmes avec l'authentification par formulaires. La racine web.config est configuré pour refuser l'accès à tous les utilisateurs non authentifiés avec une structure comme:Mélange de formulaires Web ASP.NET et ASP.NET MVC

Contrôleurs
dossier - Webforms
FOLDER1 - WEBForms
Modèle
Dossier public - WEBForms avec web.config pour permettre l'accès du public
Vues
web.config avec nierai

je dois avoir le contrôleur à domicile public aussi bien, mais si je laisse l'attribut authorize au large de la racine web.config bloque toujours l'accès au v affiche le dossier. Je veux éviter de faire quelque chose comme ci-dessous, je peux l'éviter.

Contrôleurs
WEBForms
-folder
-Folder2
-web.config avec deny utilisateurs non autorisés
Vues
web.config avec accès public

Quelqu'un at-il une idée de faire le premier travail de structure de répertoire?

Répondre

0

J'ai du mal à voir à quoi ressemblent les sections de configuration. Pouvez-vous éditer le message et déposer ces sections dans un bloc d'exemple de code (le bouton avec binaire dans la barre d'outils de l'éditeur de texte).

Est-ce que le but est de verrouiller tout ce qui est WebForms et rendre public les bits pilotés par MVC?

(Aurait vient de mettre cela dans un commentaire, mais je n'ai pas les points de rep pour laisser des commentaires encore.)

[Modifier] Par souci d'offrir quelque chose d'utile, mais reconnaissant je ne toujours » t connaître l'objectif final pour lequel les bits que vous voulez verrouiller, du côté MVC, est-il faisable pour vous d'utiliser les attributs de sécurité dans vos contrôleurs? Par exemple, au lieu d'essayer de verrouiller des actions (ou des contrôleurs entiers) dans le fichier web.config, vous pouvez ajouter [Authorize (Roles = "YourRoles")] aux actions spécifiques ou en haut du contrôleur. Avantages et inconvénients de cette approche, mais je l'aime comme je ne dois pas déranger avec le fichier de configuration, ce qui est quelque chose que je n'aime tout simplement pas. Cela suppose bien sûr que vous utilisiez le fournisseur d'appartenance ASP.NET standard, mais même si vous avez déployé le vôtre, vous devriez être en mesure d'accomplir la tâche de la même manière avec un effort supplémentaire. Juste une pensée ...

Questions connexes