1
votes

Erreur: votre connexion à ce site n'est pas privée Asp.Net. MVC5

Je configure un nouveau serveur avec Windows Azure VM pour une application asp.net mvc 5. Je suis capable d'ouvrir toutes les pages de l'application sans problème à l'exception d'un contrôleur. c'est-à-dire que chaque fois que j'essaye d'ouvrir une page appartenant à un contrôleur spécifique, il me demande le nom d'utilisateur et le mot de passe comme ci-dessous.

entrez la description de l'image ici

J'utilise le même application dans une machine virtuelle Windows Server 2016 différente sans aucun problème.

Je ne vois pas non plus d'erreurs dans les journaux d'application / IIS. Je n'ai aucune exigence https dans l'application.

Qu'est-ce qui peut être à l'origine de ce comportement?

namespace App.Controllers
{
    public class ReportsController : BaseController
    {
        private readonly IReportRepository reportRepository;
        public ReportsController(): this(new ReportRepository()){
        }

        public ReportsController(IReportRepository reportRepository){
        this.reportRepository = reportRepository;
        }

        public ViewResult Action()
        {
           return View(reportRepository.All);
        }
    }
 }

namespace App.Controllers
{
    [Authorize]
    public class BaseController : Controller
    {
    }
 }

MISE À JOUR : J'ai renommé ReportsController AppReportsController et le problème a disparu. c'est-à-dire que j'obtiens l'invite ci-dessus lorsque j'essaie d'accéder

http: // domaine / Reports / Action

mais pas pour

http: // domain / AppReports / Action

Pourriez-vous s'il vous plaît quelqu'un m'expliquer ce qui se passe ici? Cela signifie-t-il que "Reports" est réservé par le framework ou quelque chose?


6 commentaires

Si vous n'utilisez pas la sécurité de la couche de transport (c'est-à-dire HTTPS!), Le navigateur vous le dira car vous envoyez des informations d'identification via une connexion non sécurisée qui peut facilement être reniflée par une personne malveillante.


Si tel est le cas, comment les autres pages fonctionnent-elles correctement? tous les autres contrôleurs sont également hérités avec BaseController.


Vous verrez ce message chaque fois que vous verrez la fenêtre contextuelle du mot de passe et que votre connexion n'est pas sécurisée.


À partir de l'image que vous utilisez HTTP (sans suffixe S) et de l'entrée de mot de passe généralement utilisée pour soumettre des informations d'identification secrètes lors de la connexion, déclenche donc un avertissement de problème de sécurité lors de l'utilisation d'un protocole non sécurisé.


L'utilisateur s'était connecté à l'application avant le chargement de cette page particulière. Je n'ai reçu cette invite que pour toute action appartenant à ReportsController. Je ne vois cette invite pour aucune autre page de différents contrôleurs.


Si vos utilisateurs doivent se connecter, vous avez toujours des exigences https. L'utilisation de http enverra les noms d'utilisateur et les mots de passe sous forme de texte brut sur Internet. C'est généralement une bonne idée d'utiliser https comme meilleure pratique, car il cryptera tout le trafic vers et depuis le site Web, ce qui le rendra plus sécurisé par défaut.


4 Réponses :


1
votes

Le navigateur vous indiquera que votre connexion au site n'est pas privée si vous n'utilisez pas couche de transport sécurité (c'est-à-dire HTTPS) dans votre application Web, et vous êtes invité à saisir des données - dans ce cas, vos informations d'identification. Cela est dangereux car ces données peuvent facilement être reniflées par une personne malveillante.

gratuit et super facile !)


8 commentaires

Je comprends les problèmes de sécurité lors de l'envoi d'informations sensibles via http au lieu de https. mais ce n'est pas pertinent pour mon problème ici.


Je vous promets que ce n'est pas sans importance, sinon vous n'auriez pas mis cette page derrière une connexion en premier lieu. Si vous êtes satisfait d'exposer vos données, supprimez la connexion.


J'ai apprécié vos réponses et j'ai essayé de m'aider ici. Mais pensez-vous que si je supprime la connexion, cela résoudra le problème auquel je suis confronté ici?


Si vous supprimez la connexion, ce message n'apparaîtra pas, oui. Cependant, si vous avez une entrée de données, vous pouvez recevoir d'autres avertissements. De plus, Chrome (et éventuellement d'autres navigateurs) avertira les utilisateurs en leur indiquant que le site n'est pas sécurisé.


Mais ici, le navigateur ne se plaint pas que le site n'est pas sécurisé. il dit que le site n'est pas privé. Je pense qu'il me manque une configuration dans le serveur car la même application fonctionne bien dans un serveur différent sans aucune invite.


Pour info, je viens d'essayer sans connexion et j'obtiens la même invite.


De quelle invite parlez-vous? La capture d'écran que vous montrez est l'invite de connexion qui disparaîtra évidemment.


Rien à voir avec HTTPS / TLS, j'ai eu un problème similaire, dans mon cas, j'ai créé un point de terminaison REST qui nécessitait des en-têtes d'authentification. Si l'on tente d'accéder au point final sans fournir lesdits en-têtes d'authentification, l'écran comme indiqué ci-dessus "Votre connexion à ce site n'est pas privée" apparaîtra.



1
votes

Je sais que c'était un ancien message, mais je tombe sur celui-ci car j'ai rencontré la même erreur que l'OP.

J'ai résolu celui-ci au cas où quelqu'un rencontrerait la même chose. mais la solution peut varier selon que nous avons les mêmes applications installées.

  1. vérifier si le serveur / serveur Web a une installation de serveur SQL.
  2. vérifiez si des services de création de rapports sont installés.
  3. supprimer / désinstaller les services de création de rapports du panneau de configuration de l'application suivez ce lien si vous ne savez pas comment supprimer le service de rapport Comment supprimer Report Service

  4. Veuillez vérifier à nouveau si vous rencontrez toujours la même erreur. Bravo!


0 commentaires

1
votes

N'utilisez simplement pas "Rapports", mais plutôt "Rapport". Nom du contrôleur ReportController et non ReportsController. Tout ira bien. J'ai fait face au problème et c'est la solution que j'ai.


0 commentaires

0
votes

Il s'agit d'un problème d'authentification. Dans mon cas, il a été résolu par les étapes ci-dessous: 1- Accédez au gestionnaire IIS, dans le volet gauche, développez la racine du serveur et sélectionnez votre application Web à partir du nœud Sites. 2- Dans l'écran d'accueil, allez dans la section IIS et sélectionnez Authentification. 3- Activez l'authentification anonyme. 4- Ensuite, sélectionnez Modifier et définissez Modifier les informations d'identification d'authentification anonymes sur Identité du pool d'applications.

 Identifiants d'authentification anonymes


0 commentaires