programing

Wordpress 로그인 시스템에 연결하여 일부 사용자를 프로그래밍 방식으로 중지하려면 어떻게 해야 합니까?

batch 2023. 3. 12. 10:36
반응형

Wordpress 로그인 시스템에 연결하여 일부 사용자를 프로그래밍 방식으로 중지하려면 어떻게 해야 합니까?

맞춤 전자상거래와 통합된 워드프레스 기반 포털에서 일하고 있습니다.전자 상거래는 '컨트롤 패널' 역할도 합니다.모든 역할은 거기서 설정됩니다.일부 사용자는 기록되지만 '비액티브'하므로 Wordpress에 로그인할 수 없습니다.이 때문에 Wordpress 로그인 시스템에 접속해야 합니다.

예를 들어 사용자가 "bad_james"인 경우 유효한 WP 로그인 및 PWD가 있더라도 로그인할 수 없습니다.WP 관리 패널은 사용자를 차단하는 플래그를 제공하지 않습니다.

로그인 필터를 실장하는 방법이 있습니까?

건배.
다비데

오버로드 할 수 있습니다.wp_authenticatefunction (여기 코드 http://core.trac.wordpress.org/browser/trunk/wp-includes/pluggable.php) 의 함수를 참조해 주세요.사용자의 로그인을 허가하지 않는 경우는, WP_error 를 반환합니다.

또는 필터를 사용하는 것이 좋습니다.authenticate사용자가 로그인하지 않도록 하려면 null을 반환합니다.

add_filter('authenticate', 'check_login', 10, 3);
function check_login($user, $username, $password) {
    $user = get_userdatabylogin($username); 

    if( /* check to see if user is allowed */ ) {
        return null;
    }
    return $user;
}

mjangda answer에 몇 가지 문제가 있어서 WordPress 3.2에서 사용할 수 있는 버전을 올립니다.

주요 쟁점은 반품 명세서에 관한 것이었다.WP_User Object를 반환해야 합니다.다른 문제는 우선순위가 충분히 높지 않다는 것이었다.

add_filter('authenticate', 'check_login', 100, 3);
function check_login($user, $username, $password) {
    // this filter is called on the log in page
    // make sure we have a username before we move forward
    if (!empty($username)) {
        $user_data = $user->data;

        if (/* check to see if user is allowed */) {
          // stop login
          return null;
        }
        else {
            return $user;
        }
    }

    return $user;
}

WordPress external외부 DB인증 word WordPress Plugins 등 대여 및 구현해야 할 아이디어 또는 코드일 수 있습니다.

언급URL : https://stackoverflow.com/questions/1805185/how-do-i-hook-into-the-wordpress-login-system-to-stop-some-users-programmaticall

반응형