2016-08-30 7 views
-1

Ich habe eine auf Azure gehostete Webanwendung, die in ASP.net erstellt wurde und eine Benutzeranmeldeseite sowie eine separate Administratoranmeldeseite hat. Die verwendete Datenbank ist MySQL. Kürzlich wurde vom Client eine neue Anforderung hinzugefügt, dass die Admin-Anmeldeseite nur auf einem einzigen Rechner zugänglich sein sollte, der vom Client zugewiesen wird, anders als die Benutzer-Login-Seite, auf die jeder Rechner zugreifen kann.Zugriff auf die Azure-Website auf einem einzelnen Computer

Eine Lösung könnte sein, die Mac-Adresse des Client-Rechners zu bekommen und sie mit einem Datenbankeintrag zu vergleichen, aber nach vielen Suchen habe ich festgestellt, dass es keine Möglichkeit gibt, die MAC-Adresse des Client-Rechners zu erhalten. wenn der Client und der Server sich im selben Subnetz befinden. Aber das ist nicht mein Fall, da die Web-App auf azurblauem Hintergrund gehostet wird und der Client-Rechner überall auf der Welt sein kann.

Die IP-Adresse kann nicht zum Einschränken des Zugriffs auf das Admin-Portal verwendet werden, da sich der Admin-Client-Rechner auf einer dynamischen IP-Adresse befindet und sich ändern kann. Außerdem können SSL-Zertifikate nicht verwendet werden, da diese die Verwendung der anderen Benutzermaschinen für die Benutzeranmeldung ebenfalls einschränken.

Der Arbeitsablauf wird wie folgt aussehen: admin öffnet die Seite im Browser ihres Rechners und nach der Angabe der Anmeldeinformationen wird geprüft, ob der Rechner, der auf diese Seite zugreift, berechtigt ist, auf das Admin Portal zuzugreifen . Also, gibt es eine Möglichkeit, dies zu erreichen, um den Admin nur auf einem Rechner einloggen zu lassen?

+0

Es gibt mehrere Möglichkeiten, einen Clientcomputer zu identifizieren. Sie könnten beispielsweise ein Client-Zertifikat oder alternativ dessen IP-Adresse verwenden. Bitte lesen [fragen] und teilen Sie Ihre Forschungsergebnisse. – CodeCaster

+0

Danke, ich habe weitere Informationen dazu aktualisiert. Außerdem kann die IP-Adresse nicht dazu verwendet werden, den Zugriff auf das Admin-Portal einzuschränken, da sich der Admin-Client-Rechner auf einer dynamischen IP-Adresse befindet und sich dies ändern kann. Außerdem können SSL-Zertifikate nicht verwendet werden, da diese die Verwendung der anderen Benutzermaschinen für die Benutzeranmeldung ebenfalls einschränken. –

Antwort

0

Die Lösung könnte ein DB-Eintrag für Ihren Administrator sein. Wenn sich der Administrator beim Admin-Portal anmeldet, aktualisieren Sie den Eintrag für den Administrator als "eingeloggt". Anschließend können Sie jede Anmeldung überprüfen, wenn der Administrator bereits angemeldet ist.

+0

Auch wenn ich dies implementiere, kann sich admin über einen beliebigen Computer anmelden, indem er einfach diese Webadresse und Anmeldeinformationen verwendet, selbst wenn es zum ersten Mal ist. Mein Problem besteht darin, die Admin-Anmeldung auf nur einem Computer zu beschränken. –

+0

Es hängt davon ab, wie Sie Ihre Architektur einrichten, Sie müssen dem Login-Formular mitteilen, dass es nicht erfolgreich war, den Administrator einzuloggen, da sich bereits jemand als Administrator angemeldet hat. – wuerzelchen

+0

Ja, dies schränkt ein, dass der Administrator einmal angemeldet sein kann, und während dieser Sitzung kann sich der Administrator nicht erneut anmelden, aber mein Problem bestand darin, den Administrator so zu beschränken, dass er sich nur von einem Computer aus anmeldet mehrere Male oder mehrere Browser. –

Verwandte Themen