Поддержка Проблемы и решения 1 аккаунт 1 устройства

  • Здравствуйте, можно ли сделать так чтобы человек не мог зайти на сайт одновременно с двух устройств с одним аккаунт?

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Yui

    (@fierevere)

    ゆい

    не разрешать вход, если есть другая сессия:

    add_filter( 'authenticate','one_session_per_user', 30, 3 );
    
    function one_session_per_user( $user, $username, $password ) {
    $sessions = WP_Session_Tokens::get_instance( $user->ID );
    $all_sessions = $sessions->get_all();
    if ( count($all_sessions) ) {
    $user = new WP_Error(‘already_signed_in’, __(‘<strong>ERROR</strong>: User already logged in.’));
    }
    return $user;
    }

    разлогинить другие сессии и войти:

    
    add_filter('authenticate', 'wpse_12282015_single_login_authenticate', 0, 3);
    
    function wpse_12282015_single_login_authenticate($user, $username, $password) {
    
        $user =  get_user_by('login', $username);
    
        if( isset($user->ID) ){
    
            if(isset($user->roles) && is_array($user->roles)) {
    
                //check for admins
                if(in_array('administrator', $user->roles)) {
    
                    // admin can log in more than once
                    return $user;
                }
            }
    
            // get all sessions for user
            $sessions = WP_Session_Tokens::get_instance($user->ID);
    
            // destroy everything since we'll be logging in shortly
            $sessions->destroy_all();
        }
    
        return $user;
    }

    adikambarov, приветствую.

    Сразу вопрос: зачем это нужно?

    Можете ограничить кол-во допустимых сессий (1) на пользователя (это умеет делать плагин «WP Bouncer»).

    Помоги пожалуйста, можешь подсказать куда вставить эти коды? или в function.php

    adikambarov, да, можно в functions.php, можно в функциональный плагин.

    @m0ze спасибо щас попробую

    @fierevere хочу сделать платный контент.

    Модератор Yui

    (@fierevere)

    ゆい

    не нужно пингать по имени пользователя, тем более я у вас это не спрашивала.

    @fierevere Здравствуйте, у меня возникло проблема я установил тему Kava от компании crocoblock
    и в function.php написал коды которые вы отправили но выводит ошибку: syntax error, unexpected ‘>’

    • Ответ изменён 1 неделя, 4 дня назад пользователем adikambarov.

    adikambarov, привет.

    Во-первых (опять):

    @ᶂierevere Здравствуйте…

    не нужно пингать по имени пользователя, тем более я у вас это не спрашивала.

    В сообщениях @name — пинг.

    Во-вторых:

    в function.php написал коды

    Куда именно? Как?

    syntax error, unexpected ‘>’

    Обычно указывается ещё и строчка в файле. В вашем случае это..?

    Для профилактики проверьте кавычки, потом посмотрите на номер строчки в сообщении об ошибке.

Просмотр 9 ответов — с 1 по 9 (всего 9)