it-swarm.com.de

Deaktivieren Sie die Website für alle, außer für angemeldete Benutzer

Ich weiß, dass es viele Möglichkeiten gibt, dies zu tun, aber wenn ich tief darüber nachdenke, könnte eine globale Deaktivierung der Site schwierig sein.

Ich möchte, dass ein Benutzer, wenn er die Website besucht, unabhängig von seinem Aufenthaltsort auf die Anmeldeseite weitergeleitet wird. Ich würde es vorziehen, keine speziellen Einstellungen in jedem Menüpunkt oder in einem anderen Bereich der Seite zu benötigen.

Gibt es eine einfache Möglichkeit, dies zu tun? Oder ein super tolles Plugin, das das macht? Meine Recherchen waren bisher vergebens. Dies könnte jedoch auch meine Wahl bei Stichwörtern in JED/Google sein.

11
Jordan Ramstad

Würde einer von diesen funktionieren?

Nur für Mitglieder (Aus dem JED)

Halten Sie neugierige Blicke von Teilen Ihrer Website oder Ihrer gesamten Website fern, während diese anonym bleiben. Optional können Sie Besuchern erlauben, sich direkt auf Ihrer Website mit oder ohne Einladungscode zu registrieren.

registeredOnly (Aus dem JED)

das registeredOnly-Plugin beschränkt den Zugriff auf die Joomla-Site nur auf registrierte Benutzer.

Wenn ein Gast versucht, auf Joomla-Inhalte zuzugreifen, wird er auf die Anmeldeseite umgeleitet.

14
Brian Peat

1) Verwenden Sie die integrierte Joomla! -ACL

Ich empfehle, Ihren Besuchern standardmäßig eine Anmeldeseite zuzuweisen und die in Joomla! Integrierte ACL mit registrierten Benutzern zu verwenden.

Legen Sie ein Menüelement der obersten Ebene mit Berechtigungen für registrierte Benutzer fest. Anschließend wird jedes Menüelement in dieser Struktur nur für registrierte Benutzer sichtbar und verfügbar.

Es gibt ein exzellentes Tutorial zu ACL im Joomla! Docs.

Dateien und Dokumente können jedoch weiterhin von nicht registrierten Benutzern heruntergeladen werden (d. H. Wenn sie über den direkten Link verfügen).

In diesem Fall müssen Sie eine Drittanbietererweiterung verwenden, wenn Sie diese Dokumente schützen möchten, z. B. Akeeba Release Systems oder SobiPro.

2) Passwortgeschützte Verzeichnisse

Der 'einfachste' Weg, Ihre Site zu schützen, besteht darin, Ihr Verzeichnis mit einem Passwort über .htaccess/zu schützen.

Es ist nicht relevant, aber wenn Sie zum Beispiel cPanel verwenden, gehen Sie zu Sicherheit -> Kennwortgeschützte Verzeichnisse und benennen Sie Verzeichnisse mit dem Assistenten, fügen Sie Benutzer hinzu oder entfernen Sie diese und weisen Sie diese Benutzer dem Kennwortgeschützten Verzeichnis zu. Sie können jedem Benutzer einen eindeutigen Namen geben und Passwort.

Es ist unelegant, aber einfach und wird in der Praxis häufig verwendet. Ich möchte jedoch betonen, dass es wahrscheinlich am besten ist, ACL und eine Drittanbietererweiterung zum Schutz von Dokumenten vor dem Download zu verwenden.

Wenn Sie Ihre Dateien/Dokumente im passwortgeschützten Verzeichnis aufbewahren, sind diese ebenfalls geschützt. Ein Benutzer mit Berechtigungen, der versucht, auf dieses Verzeichnis zuzugreifen, muss sich zuerst anmelden.

5
NivF007

Ich werde meine Antwort darauf basierend auf @ Bryans Antwort geben.

Das Plugin Nur für Mitglieder sieht sehr vielversprechend aus, also kein Kommentar dazu.

Das registeredOnly Plugin ist kostenlos, ich war jedoch nicht von dem Code beeindruckt, so dass ich mir die Freiheit nahm, ihn zu forken und neu zu schreiben und den veralteten Code zu entfernen .

Außerdem habe ich die Community Builder-Unterstützung entfernt, weil ... nun ... ich Community Builder hasse:

defined('_JEXEC') or die('Restricted access');

class plgSystemRegisteredonly extends JPlugin
{
    public function onAfterRoute() 
    {
        $app   = JFactory::getApplication('site');
        $input = $app->input;
        $user  = JFactory::getUser();

        // Do nothing if in backend or user is logged in
        if ($app->isAdmin() || !$user->guest)
        {
            return;
        }

        // Get the component, view and task
        $option = $input->get('option');
        $view   = $input->get('view');
        $task   = $input->get('task');

        // If user is logging, registering or requesting user/pass, dont redirect
        if (($option == 'com_users') && (($task == 'login') || ($task == 'register_save') || ($task = 'remindusername') || ($task == 'requestreset')))
        {
            return;
        }

        // If user is at login form, registering or recovering user/password, dont redirect
        if (($option == 'com_users') && (($view == 'login') || ($view == 'reset') || ($view == 'remind') || ($view == 'register')))
        {
            return;
        }

        $app->redirect(JUri::base() . 'index.php?option=com_users&view=login', 'You must be logged in to access this site');
    }
}

Stellen Sie es auch auf Github ein: https://github.com/Joomla-StackExchange/registeredOnly

Hoffe das hilft ein paar von euch

3
Lodder

Ich hatte einen Kundenwunsch, mit Joomla ein Extranet für sie zu erstellen, das so streng wie möglich gesperrt werden musste. Dazu habe ich die Site auf Offline in Globale Konfiguration gesetzt und dann die ACL so bearbeitet, dass 1 benutzerdefinierte Benutzergruppe die Berechtigung Offline-Zugriff erhielt .

In den Kommentaren, von denen Sie erwähnen, dass Sie OAuth= für die Anmeldung verwenden - einige Erweiterungen, die dies unterstützen, können so konfiguriert werden, dass Benutzer automatisch einer Benutzergruppe hinzugefügt werden, sodass Sie diese Funktion dann für verwenden können Fügen Sie sie der Gruppe hinzu, die gemäß den obigen Anweisungen konfiguriert wurde.

Ich habe dann die offline.php - Datei in meiner Vorlage überschrieben, damit sie eher wie eine Anmeldeseite im Extranet-Stil aussieht als wie die Standardseite "Diese Site ist offline".

3
codinghands

Sie können die Berechtigung aller Menülinks auf "Registriert" setzen und den Benutzer zur Anmeldung zwingen.

0
Adam B