Wiem, że istnieje wiele sposobów, aby to zrobić, jednak gdy głęboko myślę, globalne wyłączenie witryny może być trudne.
Chcę, aby użytkownik odwiedzający witrynę przekierował go na stronę logowania bez względu na to, gdzie się znajduje. Wolałbym nie potrzebować specjalnych ustawień w każdym elemencie menu lub innym obszarze strony.
Czy istnieje prosty sposób to zrobić? Lub super niesamowita wtyczka, która to robi? Moje dotychczasowe poszukiwania poszły na marne. Jednak to może być mój wybór słów kluczowych w JED / Google.
cms
login
authentication
Jordan Ramstad
źródło
źródło
Odpowiedzi:
Czy jeden z tych działałby?
Tylko członkowie (z JED)
Trzymaj wścibskie oczy z dala od części lub całej witryny, a jednocześnie zachowaj anonimowość. Opcjonalnie możesz zezwolić odwiedzającym na bezpośrednią rejestrację w witrynie za pomocą kodu zaproszenia lub bez niego.
registerOnly (z JED)
Tylko zarejestrowana wtyczka ogranicza dostęp do strony Joomla tylko dla zarejestrowanych użytkowników.
Gdy gość próbuje uzyskać dostęp do dowolnej zawartości Joomla, zostaje przekierowany na stronę logowania.
źródło
1) Użyj wbudowanej listy ACL Joomla!
Polecam domyślnym odwiedzającym stronę logowania i korzystanie z wbudowanej listy ACL Joomla !, przy użyciu Zarejestrowanych użytkowników.
Ustaw element menu najwyższego poziomu z uprawnieniami dla zarejestrowanych użytkowników - wtedy każda pozycja menu w tym drzewie będzie widoczna i dostępna tylko dla zarejestrowanych użytkowników.
W Joomla jest doskonały samouczek dotyczący ACL ! Dokumenty
Pliki i dokumenty mogą jednak nadal pobierać niezarejestrowani użytkownicy (tzn. Jeśli mają bezpośredni link).
W takim przypadku będziesz musiał użyć zewnętrznego rozszerzenia, jeśli chcesz chronić te dokumenty, takie jak Akeeba Release Systems lub SobiPro.
2) Katalogi chronione hasłem
„Najprostszym” sposobem ochrony witryny jest ochrona hasłem katalogu poprzez .htaccess /
Jest nieelegancki, ale jeśli na przykład używasz cPanel, przejdź do Bezpieczeństwo -> Katalogi chronione hasłem i użyj kreatora, aby nazwać katalogi, dodać lub usunąć użytkowników i przypisać tych użytkowników do katalogu chronionego hasłem - możesz nadać każdemu użytkownikowi unikalną nazwę i hasło.
Jest nieelegancki, ale prosty i dość często wykorzystywany w praktyce - jednak powtarzam, prawdopodobnie najlepiej użyć ACL i, jeśli chroni dokumenty przed pobraniem, rozszerzenie innej firmy.
Jeśli przechowujesz swoje pliki / dokumenty w katalogu chronionym hasłem, to one również będą chronione - wymagając od użytkownika uprawnień, które będą próbowały uzyskać dostęp do tego katalogu, aby się najpierw zalogować.
źródło
Miałem prośbę klienta o stworzenie dla nich ekstranetu za pomocą Joomla, który musiał zostać jak najściślej zablokowany. Zrobiłem to, ustawiając witrynę na Offline w konfiguracji globalnej , a następnie edytowałem listę ACL, aby nadać 1 niestandardowej grupie użytkowników, którą utworzyłem uprawnienie dostępu offline .
Zauważam w komentarzach, które wspominasz, że używasz OAuth do logowania - niektóre rozszerzenia, które pomagają w tym, można skonfigurować tak, aby automatycznie dodawały użytkowników do grupy użytkowników, dzięki czemu można było użyć tej funkcji, aby dodać ich do grupy skonfigurowanej zgodnie z powyżej instrukcji.
Następnie zastąpiłem
offline.php
plik w moim szablonie, aby wyglądał bardziej jak strona logowania w stylu ekstranetu, a nie domyślna strona „Ta witryna jest offline”.źródło
Dam na to odpowiedź w oparciu o odpowiedź @ Bryana.
W Members Only wtyczki wygląda bardzo obiecująco, więc żadnego komentarza w tej sprawie.
RegisteredOnly wtyczka jest za darmo, jednak nie byłem pod wrażeniem z kodem, więc wziąłem wolność rozwidlone i ponownego pisania i usunięcie kodu przestarzałe.
Oprócz tego usunąłem obsługę konstruktora społeczności, ponieważ ... no cóż ... Nienawidzę konstruktora społeczności:
Postaw to również na Github: https://github.com/Joomla-StackExchange/registeredOnly
Mam nadzieję, że pomoże to niektórym z was
źródło
Możesz ustawić uprawnienia wszystkich linków menu do zarejestrowania, zmuszając użytkownika do zalogowania się.
źródło
wklej ten kod do pliku index.php bieżącego szablonu
źródło