Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Доступ только после авторизации


Recommended Posts

Как можно сделать основную страницу с вводом логина и пароля (она отражается всегда, если человек не вошел под свои логином и паролем), а страницы магазина отображаются только зарегистрированным пользователям после входа?

 

Дублирую вопрос с 

т.к. в моём случае после добавления этого кода возникает ошибка:

Цитата

Страница недоступна

Сайт ************ выполнил переадресацию слишком много раз.

 

  • Удалите файлы cookie..

 

ERR_TOO_MANY_REDIRECTS

подскажите пожалуйста как еще можно реализовать или как можно исправить данную ошибку?

Надіслати
Поділитися на інших сайтах

Ну главную как и все остальные, можно сделать проверкой $this->customer->isLogged(); Если да, то показывается, если нет, то редирект на страницу входа

Надіслати
Поділитися на інших сайтах

В /catalog/controller/common/header.php в начале файла после 

public function index() {

Добавить 

if(!$this->customer->isLogged()) {
	if(empty($this->request->get['route']) || $this->request->get['route'] != 'account/login') {
		$this->response->redirect($this->url->link('account/login', '', 'SSL'));
	}
}

Сохранить, обновить модификаторы.

Надіслати
Поділитися на інших сайтах


  • 3 years later...

Спасибо за подсказку.

Единственное, если все сделать так как тут написано, перестанет работать форма регистрации и форма восстановления пароля, так как везде будет требовать авторизацию.

 

Для того чтобы добавить страницу регистрации и восстановления пароля в исключения нужно подправить код примерно так:

if(!$this->customer->isLogged()) {
	if(empty($this->request->get['route']) || ($this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten')) {
		$this->response->redirect($this->url->link('account/login', '', 'SSL'));
	}
}
Надіслати
Поділитися на інших сайтах


1 час назад, Easyme сказал:

Спасибо за подсказку.

Единственное, если все сделать так как тут написано, перестанет работать форма регистрации и форма восстановления пароля, так как везде будет требовать авторизацию.

 

Для того чтобы добавить страницу регистрации и восстановления пароля в исключения нужно подправить код примерно так:


if(!$this->customer->isLogged()) {
	if(empty($this->request->get['route']) || ($this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten')) {
		$this->response->redirect($this->url->link('account/login', '', 'SSL'));
	}
}

Правильный код ниже. Добавлена еще функция сброса пароля.

if(!$this->customer->isLogged()) {
	if(empty($this->request->get['route']) || ($this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten' && $this->request->get['route'] != 'account/reset')) {
		$this->response->redirect($this->url->link('account/login', '', 'SSL'));
	}
}
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.