J'essaie de créer un contrôleur anonyme afin d'obtenir une authentification de formulaire. J'ai configuré mon IIS 7 avec une authentification anonyme et formulaire La seule action que je peux obtenir sur cet ensemble de configuration est l'action de connexion (qui renvoie la vue "Connexion") et je 'm deviner que le MVC me permet d'obtenir cette action parce que je l'ai défini comme l'URL de connexion sur mon web.config. p> voici ma configuration Web configuration: p> Toutes les autres actions sont redirigées vers l'action de connexion. Sur cet ensemble de configuration, je ne peux pas obtenir d'autres actions importantes telles que la restauration du mot de passe, le registre, etc. p> Qu'est-ce que je fais mal? P> P>
5 Réponses :
Avez-vous essayé d'autoriser l'autorisation anonyme de l'URL comme dans l'échantillon ci-dessous similaire à ceci, vous devez être réglé pour le mot de passe ResetPassword / Restaurer / registre, etc. / p> p>
La décoration n'atteint pas le même comportement?
Utiliser un filtre d'authentification globale avec un comportement personnalisé au lieu de la configuration d'autorisation dans web.config (meilleur pour mvc)
Ajouter un filtre global p> alors, [allowanonymous] va travaux, et tous les autres contrôleurs et actions nécessitent une autorisation. P> P>
Pouvez vous donner un exemple?
Merci! Vaut à mentionner: après avoir ajouté le filtre autorisé, vous aurez besoin (comme je l'ai fait) pour permettre l'accès anonyme à votre site.
Il y a deux approches possibles. P>
Tout d'abord - vous pouvez refuser les demandes anonymes dans le monde entier avec l'attribut Authorize et marquer ces quelques-uns qui n'ont pas besoin d'autorisation avec attribut allonanonymous (qui est nouveau à MVC4). P>
seconde - Ne niez pas globalement mais sécurisez plutôt vos contrôleurs / actions sélectionnés avec Autorize Attribut. P>
Ce n'est pas précis, concernant votre première approche: si vous niez les demandes anonymes et que vous n'ajoutez pas le filtre Authorize, vous ne pourrez y accéder à aucune action en dehors de l'action de connexion et l'attribut autorangère ne sera pas pris en compte par le Mvc
Je n'étais pas assez clair, le déni devrait bien sûr être fait avec autorisation. J'espère que la version éditée est claire. Merci.
Vous pouvez également enregistrer puis utilisez le autoriser code> filtre dans
registerglobalfilters code> méthode:
allowanonymous code> Attribut sur les méthodes d'action nécessitant un accès anonyme: p>
Merci, Hvost était 2 minutes avant de vous
Aucun problème. Content que tu as eu votre réponse :)
J'ai supprimé la partie suivante de web.config, alors il commence à travailler pour moi.
Vous ne pouvez pas nier globalement - la restauration ou l'enregistrement de PASWord doit être accessible anonymement.
Alors, que dois-je changer? Si je permet d'accéder anonyme, tout le site est accessible et MVC ne redirige pas l'utilisateur non authentifié vers l'action de connexion.