Je veux utiliser HTTPS dans mon application web ASP.NET, mais uniquement pour la page Login.aspx.
Comment cela peut-il être accompli ?
Je veux utiliser HTTPS dans mon application web ASP.NET, mais uniquement pour la page Login.aspx.
Comment cela peut-il être accompli ?
Obtenez ou créez d'abord un certificat
Obtenez le module SecureWebPageModule à partir de http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Ver . Les instructions pour l'installation se trouvent dans l'article.
Ajouter la balise secureWebPages au web.config
<configuration>
...
<secureWebPages enabled="true">
...
</secureWebPages>
...
<system.web>
...
</system.web>
</configuration>
Ajouter les fichiers et répertoires à utiliser pour le protocole https :
<secureWebPages enabled="true">
<file path="Login.aspx" />
<file path="Admin/Calendar.aspx" ignore="True" />
<file path="Members/Users.aspx" />
<directory path="Admin" />
<directory path="Members/Secure" />
</secureWebPages>
J'espère que cela vous aidera !
Le projet SecureWebPageModule a été renommé "SecuritySwitch", et peut être trouvé à l'adresse suivante http://code.google.com/p/securityswitch/
Vous pouvez publier votre propre certificat ou en acheter un. Le problème est que l'achat d'un certificat, selon l'entreprise, signifie qu'il est déjà stocké dans le magasin de certificats de la plupart des navigateurs. Le certificat que vous publiez vous-même ne le sera pas et vos utilisateurs devront faire l'effort supplémentaire d'installer votre certificat.
Vous ne dites pas quelle version de IIS vous utilisez, mais Voici des instructions détaillées pour IIS 6
Vous pouvez acheter des certificats relativement bon marché ou vous pouvez aller avec les grands garçons (verisign) et obtenir un certificat de validation étendu qui rend votre barre d'adresse dans IE, verte. Il s'agit également d'un processus de validation assez rigoureux qui prend du temps.
Si vous connaissez tous les utilisateurs qui fréquenteront votre site Web, il n'y a aucun problème à installer le vôtre. Cependant, pour un site Web ouvert avec des utilisateurs anonymes (que vous ne connaissez pas), il est probablement préférable d'acheter un certificat qui se trouve déjà dans la plupart des principaux navigateurs et magasins de certificats.
Vous pouvez activer SSL via IIS et l'exiger uniquement pour votre page login.aspx et non pour le reste.
Après avoir configuré/installé SSL, vous devez faire une sorte de redirection sur la page de connexion vers https://. Ensuite, quelle que soit la page vers laquelle l'utilisateur est envoyé après la validation, ce peut être simplement http://.
Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
If Request.IsSecureConnection = False And _
Not Request.Url.Host.Contains("localhost") Then
Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"))
End If
End Sub
Cela peut être plus facile à mettre en œuvre sur une page principale ou sur toutes les pages pour lesquelles vous avez besoin du protocole https. En vérifiant "localhost", vous éviterez d'obtenir une erreur dans votre environnement de test (à moins que votre serveur de test ait un autre nom, vérifiez-le : "mytestservername").
Je ne sais pas comment rediriger la page de connexion avec HTTPS:// c'est mon problème. merci.
Clause de non-responsabilité - J'ai participé à l'élaboration de ce projet.
Je recommande d'utiliser http://nuget.org/packages/SecurePages/ Il vous donne la possibilité de sécuriser des pages spécifiques ou d'utiliser Regex pour définir les correspondances. Il forcera également toutes les pages ne correspondant pas à la Regex ou directement spécifiées à revenir à HTTP.
Vous pouvez l'installer via NuGet : Install-Package SecurePages
Les docs sont ici : https://github.com/webadvanced/Secure-Page-manager-for-asp.net#secure-pages
Utilisation simple :
SecurePagesConfiguration.Urls.AddUrl("/cart");
o
SecurePagesConfiguration.Urls.AddRegex(@"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline);
Merci de poster votre réponse ! Veillez à lire le FAQ sur l'autopromotion soigneusement. Notez également qu'il est requis que vous affichiez une clause de non-responsabilité chaque fois que vous créez un lien vers votre propre site/produit.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.