web.config refuser l'autorisation non autorisée
Je suis l'élaboration d'une .NET pour ASP.NET Application Web et suis en train de nier tous les utilisateurs non autorisés d'accéder à ma demande, mais de leur permettre seulement à la page de connexion.
Ci-dessous est un extrait du code, qui est à l'intérieur de mon système.section du site web:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" timeout="60" name="APPNAME" slidingExpiration="true" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
J'ai aussi ce à l'extérieur pour permettre l'accès à la page de connexion:
<location path="Login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Cependant, je suis toujours en mesure d'accéder à des pages quand je ne suis pas connecté, comment pourrais-je empêcher cela?
J'ai même ajouté un site Web.Fichier de configuration dans le dossier Principal qui stocke la plupart des fichiers de site web dont le contenu est:
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
Mais c'est toujours de n'avoir aucun effet.
Solution
J'avais suivi quelques conseils pour l'optimisation asp.net (http://www.codeproject.com/KB/aspnet/10ASPNetPerformance.aspx) et retiré la AnonymousIdentification httpModule dont j'ai réellement besoin.
J'ai juste effacé mon navigateur cache/cookies et essayé de nouveau et c'est toujours ce qui me permet d'accéder à tout
OriginalL'auteur Malachi | 2010-10-06
Vous devez vous connecter pour publier un commentaire.
Je pense que ce que vous trouverez, c'est qu'il est beaucoup plus facile de traiter avec ASP.NET autorisation si vous mettez de différentes pages web avec les différents rôles dans des dossiers différents. Ce n'est pas une exigence. C'est juste plus facile à gérer.
Si vous êtes dans VS 2010 (je ne suis pas sûr que c'est dans l'édition express), essayez d'utiliser l'ASP.NET outil de Configuration en bas du menu Projet.
J'ai trouvé qu'il était facile d'apprendre comment le web.les fichiers de configuration travaillé par l'aide de cet outil, d'abord, de faire quelques changements à la sécurité, puis d'aller regarder ce qu'il fait.
Si vous venez de commencer avec un vide ASP.NET application dans visual studio 2010, vous pouvez verrouiller tout mais le login et le registre de page en apportant deux modifications:
Dans la racine web.config
Dans le web.config dans le Compte de sous-dossier
Ce que vous allez voir, c'est que l'utilisateur est immédiatement dirigé vers la page de connexion, mais ils peuvent encore s'inscrire.
OriginalL'auteur Chris Gomez
Essayez d'ajouter LoginStatus le contrôle de votre page pour vérifier votre statut de connexion.
Vous pourriez avoir coché la case "mot de passe Sauvegardé sur l'option" précédemment. Vérifier et effacer votre mot de passe mis en cache à l'aide de contrôle userpassword2 commande.
Je fixe - voir ci-dessus pour que ma solution a été
Ce qu'un long article. Bon travail de toute façon. 🙂
OriginalL'auteur bla