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

Авторизация только с одного устройства и доступ в личный кабинет


Recommended Posts

Добрый день, подскажите пожалуйста по двум вопросам, как правильно реализовать:

1) Чтобы посетители могли заходить только на страницу авторизации, личный кабинет и просмотр заказов, остальные контроллеры недоступны, но чтобы их не удалять, и позже можно было дополнительно какой-то модуль дать в доступ просмотра, возможно есть какой-то модуль или не сложная реализация? Или в каком файле лучше это все прописать

2) Мне нужно чтобы доступ в личный кабинет был только с 1 устройства, если зашли с двух, то первого выкинуло с авторизации, а второй зашел. Я создал 2 поля в таблице customer: session и last_login, в сессию думал писать $this->session->getId(), то бишь если текущая сессия и сессия из бд по юзеру разные, то выкидывать его, но после logout $this->session->getId() не обновляется почему-то, то бишь я залогинился несколько раз, и один и тот же session->getId пишет, подскажите пожалуйста как лучше это реализовать по алгоритму? .

Спасибо!

Змінено користувачем AndreLisif
Надіслати
Поділитися на інших сайтах


38 минут назад, AndreLisif сказал:

Чтобы посетители могли заходить только на страницу авторизации, личный кабинет и просмотр заказов, остальные контроллеры недоступны,

Поясните смысл, если они эти заказы КАК-то сделали
 

40 минут назад, AndreLisif сказал:

но после logout $this->session->getId() не обновляется почему-то,

вы с одного устройства проверяли?

 

 

Как-то делал, что залогиниться можно было один раз
И пока сессиия активна никто логниться не мог
Причина в том что юзерам были известны все логины/пароли других, и чтоб отбить эту гнусную привычку, пришлось ваять

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

8 минут назад, chukcha сказал:

Поясните смысл, если они эти заказы КАК-то сделали

Это я как пример написал о странице списка заказов, сейчас сайт пока работает как личный кабинет без возможности покупки, там другой функционал завязан

 

вы с одного устройства проверяли? - Да, что-то затупил, ведь сессия у каждого разная, спасибо что подсказали) Выходит логику правильно я строю? Сейчас при каждой авторизации у меня пишет в таблице customer в поле session текущая сессия юзера, я допишу проверку в library/cart/customer.php public function __construct($registry) {

$checkLogin = false;

if($customer_query->row['session'] == $this->session->getId()){
$checkLogin = true;
}

и if ($customer_query->num_rows) {

заменить на 
if ($customer_query->num_rows && $checkLogin) {

Правильно я логику строю или нет? подскажите пожалуйста

 

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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