Wordpress 로그인 시스템에 연결하여 일부 사용자를 프로그래밍 방식으로 중지하려면 어떻게 해야 합니까?
맞춤 전자상거래와 통합된 워드프레스 기반 포털에서 일하고 있습니다.전자 상거래는 '컨트롤 패널' 역할도 합니다.모든 역할은 거기서 설정됩니다.일부 사용자는 기록되지만 '비액티브'하므로 Wordpress에 로그인할 수 없습니다.이 때문에 Wordpress 로그인 시스템에 접속해야 합니다.
예를 들어 사용자가 "bad_james"인 경우 유효한 WP 로그인 및 PWD가 있더라도 로그인할 수 없습니다.WP 관리 패널은 사용자를 차단하는 플래그를 제공하지 않습니다.
로그인 필터를 실장하는 방법이 있습니까?
건배.
다비데
오버로드 할 수 있습니다.wp_authenticate
function (여기 코드 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
'programing' 카테고리의 다른 글
외부에서는 사용하지 마십시오. (0) | 2023.03.12 |
---|---|
Wordpress에서 플러그인 활성화 후크가 작동하지 않음 (0) | 2023.03.12 |
2014년 5월 Oracle v Google 결정으로 인해 문제가 될 수 있는 37개의 Java API 패키지는 무엇입니까? (0) | 2023.03.12 |
타이프 스크립트에서 두 날짜 사이의 시간을 계산하려면 어떻게 해야 합니까? (0) | 2023.03.12 |
장고 쿼리셋을 JSON으로 출력하려면 어떻게 해야 합니까? (0) | 2023.03.12 |