Frage

Ich versuche, eine „private Beta“ für eine Website einrichten, die ich arbeite. Die Website verwendet Open ID. Ich will nicht, dass jemand auch die Seiten blättern, wenn sie nicht Teil des Beta sind. Was ist der beste Weg, dies zu implementieren? Irgendwelche Vorschläge?

Zum Beispiel:

Wenn die Seite live geht, werden die Nutzer gehen zu http://www.mydomain.com denen nicht, sie erfordern eingeloggt sein.

Für die Beta-I Zugriff beschränken möchten. Benutzer, die gehen zu http://www.mydomain.com werden zu einer Login-Seite umgeleitet werden. Jeder, der versucht ANY Teil der Website zugreifen, die wieder zurück in der Login-Seite nicht authentifiziert wird umgeleitet werden.

Ich konnte stick [autorisieren] alle über meine Controller-Aktionen Attribute, aber das scheint dumm.

War es hilfreich?

Lösung

Wenn Sie ASP.NET MVC verwenden, kommt es mit Authentifizierung / Autorisierung aus dem Kasten heraus. Sie sollten die in der Lage sein, die Authentifizierung Setup auf Ihrer Website zu nutzen.

Alternativ können Sie Setup-App-Server-Einstellungen - IIS können Sie Setup Benutzername / Passwort auf einer bestimmten Website es dient, unabhängig davon, was die tatsächliche Anwendung tun kann. Wenn Sie den Zugriff auf den App-Server haben könnte dies die beste Lösung sein.

Wenn Sie IIS 6 verwenden, können Sie Setup Genehmigung leicht. Rechtsklicken Sie auf Ihrer Website> Eigenschaften> Registerkarte Sicherheit> Authentifizierung und Zugriffskontrolle> Bearbeiten, und einen Benutzername / Passwort ist Ihre Wahl eingeben. Fertig.

Andere Tipps

Die eigentliche Frage ist, wie werden sie an den privaten Beta eingeladen werden?

Sie könnten ein Passwort-Setup, die viel ein Cookie fällt wie serverfault.com tut.

oder

Wenn Sie wissen, wer Sie sind eingeladen: Sie sie in das System vor der Hand mit der E-Mail könnte hinzufügen / Login-Daten, die Sie bereits über sie wissen (vorausgesetzt, Sie sie per E-Mail einladen)

Ich habe eine Funktion in einer Web-Anwendung implementiert eine Weile her, wo wir die Möglichkeit, gehen Zugriff auf die gesamte Website zu blockieren, wenn der Benutzer ein Administrator ist (was in unserem Fall bedeutete, dass das Benutzerkonto ein Mitglied einer bestimmten Gruppe war in Active Directory).

Es wurde auf zwei Dinge basiert. Zunächst werden alle Seiten in der Web-Anwendung geerbt nicht direkt von der Page-Klasse, sondern von einer benutzerdefinierten Seite Klasse in unserer Web-Anwendung. Zweitens hatten wir einen Wert wie dies im Abschnitt appSettings der Datei web.config:

<add key="adminaccessonly" value="0" />

Die benutzerdefinierten Seiten Klasse würde diesen Wert überprüft beim Laden. Wenn es nicht 0 ist, würde es zu einer Seite umleiten (die nicht die gleiche benutzerdefinierten Seiten Klasse geerbt haben, obwohl) informiert den Benutzer, dass „die Seite nicht verfügbar sein im Moment.“ Wenn der Wert 0 war die Seite würde wie gewohnt geladen werden.

In dieser Anmeldung verwenden wir diese in der Lage sein, um die Website „offline“ zu nehmen, wenn wir eine neue Version bereitgestellt, uns einige Zeit, um zu überprüfen, dass alles gut war, bevor wir in den Benutzern wieder lassen.

Die beste Weg ist Einladungssystem (basierend auf Einladungscode) oder manuell Bestätigung Zugang nach Profil in Ihrem System erstellen. imho

Oder Sie könnten die Website auf einem privaten Server hosten und ein VPN einzurichten, es zu benutzen. Je nach Ihren Ressourcen und Bedürfnissen kann dies die einfachste und sicherste Art und Weise zu tun, was Sie wollen, ohne Ihre Code-Basis zu ändern.

oder alternativ könnten Sie Apache oder IIS-Authentifizierung verwenden, um das Website-Verzeichnis für den Zugang zu erzwingen. Halten Sie die Authentifizierungsinformationen in .htaccess für eine Weile.

Auch wenn Sie offen ID-Authentifizierung verwenden, können Sie immer noch eine Form von Autorisierungsmechanismus benötigen. Die einfachste Form wäre ein benutzer Rollen-System in Ihrer Datenbank sein, die verschiedenen Rollen an Benutzern

zuordnet

In Ihrem Fall, weist nur die private_beta Rolle zu Ihren privaten Beta geladenen Gäste und sicherzustellen, dass Sie Ihren Autorisierungsmechanismus, der alle Benutzer private_beta Privileg haben, bevor sie fortgesetzt werden kann.

Wenn Sie nicht möchten, dass Berechtigung zur Verfügung zu stellen für die öffentliche Seite (wo jeder alles tun kann, einmal authentifiziert), dann können Sie nur eine schnelle und unsaubere Nachbearbeitung tun müssen, um (für die privaten Beta-only) auf open_id Benutzer authentifiziert sie eine kurze Liste abhaken (die Sie auf einer Textdatei speichern kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top