Comment puis-je permettre à tous les utilisateurs d'accéder à un parcours au sein d'un site web intégré avec auth?
J'ai un ASP.Net MVC application à l'aide de la Sécurité Intégrée que j'ai besoin de pouvoir accorder un accès ouvert aux un itinéraire spécifique. La route en question est ~/Agreements/Upload
. J'ai essayé un peu de choses et rien n'a fonctionné jusqu'à présent.
<configuration>
<location path="~/Agreements/Upload">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
Dans IIS sous Répertoire de Sécurité > Méthodes d'Authentification je n'ai que "l'Authentification Intégrée de Windows" est sélectionné. Maintenant, cela pourrait être une partie de mon problème (même si IIS permet à la ci-dessus IIS n'est pas). Mais si c'est le cas, comment dois-je configurer de façon à ce que la Sécurité Intégrée fonctionne, mais permet à des personnes qui ne sont pas authentifié pour accéder à la route?
est sur un juste croisade. J'ai lu son blog et je suis vendu sur l'idée qu'il a raison.
OriginalL'auteur vdh_ant | 2010-03-31
Vous devez vous connecter pour publier un commentaire.
Dans ASP.NET MVC vous ne devez pas utiliser l'emplacement de l'élément dans le web.config. Alors que les formulaires web moteur mappé à la physique des fichiers sur le disque, le moteur MVC à l'aide de routage. Cela signifie que vous pouvez par inadvertance, permettre l'accès à un "protégés contrôleur" à travers un itinéraire personnalisé par accident.
La manière recommandée de fixation ASP.NET les applications MVC est grâce à l'utilisation de l'Autoriser attribut, comme on le voit dans l'exemple ci-dessous:
Le contrôleur de l'action est ce que vous voulez protéger et de ne pas la route. L'ASP.NET MVC Sécurité bod, Levi Broderick est plutôt entendre au sujet de cette question:
Merci pour cette mise à jour. L'article est intéressant. Nous avons mis en place quelque chose de très similaire dans MVC3 pour résoudre le anonyme le contrôleur d'accès et/ou de contrôleur de l'action.
OriginalL'auteur Rebecca
Vous devez autoriser l'accès anonyme dans IIS en tant que bien, parce que sinon, seuls les utilisateurs authentifiés windows sera en mesure d'accéder à n'importe où dans votre site. Vous devriez refuser l'accès par défaut aux utilisateurs anonymes.
Dans votre
<location>
section, permettre aux utilisateurs anonymes.Ah.. le problème est selon msdn.microsoft.com/en-us/library/wce3kxhd.aspx ASP.NET l'Autorisation) - "les Règles contenues dans la demande au niveau des fichiers de configuration de prendre la priorité sur les règles héritées"
Cette réponse n'est pas seulement faux, son dangereux, comme l'a fait remarquer un commentaire sur la question.
OriginalL'auteur David Gardiner