Vielen Dank für Ihre Hilfe. Ich habe eine Site, die sich mit Active Directory-Verbunddiensten für Single Sign On authentifizieren kann. Zur Zeit funktioniert meine Site so, dass mein Code standardmäßig versucht, wenn ein Benutzer meine Site besucht, sich dann in SSO einzuloggen (ich benutze dazu die OWIN-Bibliothek). Wenn sich der Benutzer nicht in unserem Netzwerk befindet, kann er sich nicht authentifizieren. Er wird zur Anmeldeseite meines Unternehmens weitergeleitet, wo er seine Unternehmensanmeldeinformationen eingeben kann.
Ich möchte dieses Verhalten jedoch ändern. Wenn der Benutzer meine Seite aufruft, sollte er stattdessen wie üblich weiterarbeiten und auf meine Site umgeleitet werden. Aber wenn sie sich nicht authentifizieren, möchte ich nicht, dass sie auf unsere Anmeldeseite weitergeleitet werden. Stattdessen möchte ich, dass sie auf meine Website zurückgeleitet werden, wo mein Code bestimmt, was sie auf der Website tun können und was nicht. Ich möchte dann einen Link bereitstellen, damit sie sich entscheiden können, auf die Login-Seite zu gehen.
Ich möchte dieses Verhalten, weil die Mehrheit der Benutzer dieser Site nicht Teil des Firmennetzwerkes sein wird und sich nicht authentifizieren kann. SO sollten sie standardmäßig unsere Homepage sehen. Es kann jedoch vorkommen, dass ein Firmenmitglied von zu Hause aus arbeitet und sich nicht in unserem Netzwerk befindet, um sich zu authentifizieren. In diesem Fall würden sie dann den Link verwenden, der sie an die Azure-Anmeldeseite sendet.
Hier ist der Code, den ich derzeit verwende (Site ist ASP.net, Formular Webseite (nicht MVC)):
Startup.Auth.vb:
%Vor%Dann mache ich das auf meinem Default.aspx.vb-Seitenladeereignis:
%Vor%Das Problem ist, ich weiß nicht, wie ich versuchen soll, den Benutzer zu authentifizieren, festzustellen, ob sie authentifiziert sind, und sie entsprechend umzuleiten. Jede Hilfe würde sehr geschätzt werden.
Danke
Es gibt keine solide / korrekte Methode, um zu überprüfen, ob sich ein anonymer Benutzer in Ihrem Netzwerk befindet (oder mir nicht bekannt ist). Möglich ist die Überprüfung der IP-Adresse (Reichweite), die Benutzer in Ihrem Netzwerk öffentlich im Internet haben. Dies können Sie mit dem / den Netzwerkadministrator (en) überprüfen. Sie können Ihnen die öffentliche IP-Adresse (Bereich) mitteilen.
Sobald Sie die öffentliche IP-Adresse (Bereich) kennen, können Sie die eingehende Anfrage prüfen, um zu vergleichen, ob die Anfrage von der bekannten Reichweite der IP-Adresse (Bereich) in RedirectToIdentityProvider
function kommt.
Vielleicht möchten Sie es ein wenig optimieren, da ich es nicht versucht habe, aber Sie möglicherweise in die richtige Richtung zeigen.
Es tut mir leid, dass ich kein vollständiges Codebeispiel angegeben habe, aber meiner Meinung nach:
Bypass das Anmelde-Seite fordert von Ihrem Unternehmen bestehende Verbunddomäne Namen an das Ende der Windows Azure Management Portal URL Hinzufügen
Wenn sich Benutzer mit Azure AD anmelden, überprüft diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory.
Schließlich fand ich, dass die Diese Frage kann sich auf Ihre Frage beziehen.
Tags und Links azure asp.net single-sign-on vb.net owin-middleware