2015-08-25 2 views
0

У меня есть пользовательская система с сеансом для их имени пользователя и идентификатора. Я также получил поле в моей таблице пользователей с именем user_locked, которое определяет, заблокирована ли учетная запись пользователя или нет (если она заблокирована, они не могут войти в систему).Выполнять запросы/задачи для определенных пользователей

Недавно я добавил функцию на своем сайте, где он позволяет мне легко блокировать пользователей одним щелчком мыши, и тогда у меня возникла идея: можно заставить этого конкретного пользователя выйти из системы (сделать свою сессию/cookies уничтожаются), оставив всех elses целыми и невредимыми?

Возможно ли это? Если да, то как мне это сделать?

Спасибо.

+0

Вы можете сохранить вошедшего пользователя идентификатор сеанса в базе данных при входе в систему, а затем уничтожить его, когда и как вы хотите. Релевантно: [Stack QA] (http://stackoverflow.com/questions/5443355/remotely-destroy-a-session-in-php-user-logs-in-somewhere-else) –

+0

Несомненно, этот вопрос будет лучше назван " Могу ли я принудительно выйти из определенного пользователя на ___xxx___ ", где ___xxx___ - это система, которую вы используете для управления сеансами пользователей (что мне непонятно). – PJTraill

ответ

0

Мой подход был бы:

  1. Журналы пользователя в
  2. Вы начинаете сессию для него и хранить любую сессию переменной, которые вы хотите
  3. Вы сохраняете ID этой сессии в таблице в базе данных с пользователем идентификатор/имя пользователя Информация
  4. Всякий раз, когда вы хотите, чтобы уничтожить его сессию и войти его вы будете следовать этому рутинную:

    // old_session_id will be retrieved from your database table for 
    // this current user that you want to force log off 
    session_id($old_session_id); 
    session_start(); 
    session_destroy(); 
    

Destroy php session remotely

+0

Кажется не работает - у меня есть строка в моей таблице пользователей, называемая «пользователями», где я храню сеанс, который устанавливает, когда пользователь входит в систему, и когда я запускаю это, похоже, ничего не происходит. –

+0

Опубликуйте соответствующий код, чтобы проверить, как вы пытаетесь решить эту проблему. –

Смежные вопросы