2010-02-18 8 views
2

J'ai un formulaire de connexion sur la page d'accueil d'un site Web ASP.NET 3.5 qui, pour des raisons de performances, doit être accessible avec une connexion HTTP standard. Comme la publication normale pour une page ASP.NET est un appel relatif pour la publication, cela signifie que lorsque le navigateur publie les valeurs sont envoyées sans protection.Force d'adhésion ASP.NET HTTPS sur PostBack

Je voudrais faire deux choses à faire de cette sécurité:

  1. forcer le Postback être sécurisé à la même page
  2. Envoyez le message à une autre page à l'aide d'une connexion HTTPS

Existe-t-il un moyen d'implémenter la première option?

Je cherche aussi le service d'authentification, mais en regardant l'URL de référence qu'il utilise un chemin relatif:

Sys.Services._AuthenticationService.DefaultWebServicePath = '../Authentication_JSON_AppService.axd'; 

Je ne vois pas un moyen de passer outre pour mettre dans un chemin HTTP .

Répondre

1

Vous pouvez modifier la propriété d'action du formulaire avec javascript pour lui indiquer de soumettre une page différente avec https. J'ai fait ceci et cela fonctionne bien.

Vous pouvez également le modifier pour soumettre à la même page avec https, mais je pense que asp.net s'en plaindrait (pas sûr - jamais essayé).

scénario

exemple:

document.forms[0].action = "https://www.whatever.com/submit_page.aspx"; 
+0

Pourriez-vous me montrer à la version de travail de cette approche? Je souhaite éviter d'écrire une fonction JavaScript personnalisée en raison des tests supplémentaires requis. – Josh

+0

Je ne peux pas vous montrer le mien, mais le script est assez simple - j'ai édité ma réponse, car elle ne s'affiche pas bien dans le commentaire. – Ray

+0

Ray, faites-vous cela avec un ASP.NET 3.5 Web Forms? Je reçois une erreur de validation viewstate J'ai essayé cette approche. La validation de MAC viewstate a échoué. Si cette application est hébergée par une batterie Web ou un cluster, assurez-vous que la configuration spécifie le même algorithme de validation et de validation. AutoGenerate ne peut pas être utilisé dans un cluster. – Josh

2

Vous pouvez utiliser l'affichage croisée Page:

http://msdn.microsoft.com/en-us/library/ms178139.aspx

+0

L'affichage de pages croisées ne serait-il pas redirigé vers une autre page? J'essaie de rester sur la même page car je dois retourner les messages de validation et d'erreur sur la même page. – Josh