워드프레스에서 자동으로 로그인하도록 설정하기 [자동 로그인 기능]

Last Updated: 2016년 12월 26일 댓글

자동으로 특정 사용자 이름으로 로그인되도록 설정하기

예를 들어 사용자들이 데모 기능을 이용할 수 있도록 demo 사용자 이름으로 자동으로 로그인하는 기능을 만들고 싶은 경우가 있을 수 있습니다.

만약 사용자 접속하면 자동으로 DEMO라는 사용자 이름으로 로그인하도록 하는 자동 로그인 기능을 구현하려면 다음과 같은 코드를 사용 중인 워드프레스 테마의 함수 파일(functions.php)에 추가하면 됩니다.

add_action('init', 'auto_login');
add_action('admin_init', 'auto_login');
function auto_login() {
if (!is_user_logged_in()) {
//by user name
$user = get_user_by( 'login', 'DEMO' );
//Or by user id, 2 being the ID of the demo user
//$user = get_userdata(2);
wp_set_current_user($user->ID, $user->user_login);
wp_set_auth_cookie($user->ID);
do_action('wp_login', $user->user_login);
}
}
// Source: http://wordpress.stackexchange.com/

테스트해보니 사이트에 접속하면 무조건 DEMO로 자동 로그인이 되네요. (이 작업을 하기 전에 먼저 차일드 테마를 만들어서 차일드 테마 내의 함수 파일에 입력하도록 합니다. "원클릭으로 간편하게 차일드 테마 만들기" 참고)

특정 사용자 이름 미리 채워넣기

약간 다른 방식으로 로그인 페이지에 접속하면 사용자 이름을 미리 채워넣고 아래에 비밀번호를 알려주는 방법을 생각해볼 수 있습니다.

이 경우 다음 코드를 함수 파일에 넣으면 DEMO라는 사용자 이름이 자동으로 채워집니다.

/**
* Changes the default user name to "DEMO" -- 기본 사용자 이름을 "DEMO"로 변경함
*
* @return string $user_login
*/
function login_form_username()
{
global $user_login;
return $user_login = 'DEMO';
}
add_action( 'login_head', 'login_form_username' );

그리고 다음 코드를 테마 함수 파일에 넣으면 '비밀번호는 "DEMO"입니다'라는 문구가 표시됩니다.

/**
* Adds a note beyond the user login name & password field -- 로그인 이름과 비밀번호 필드 아래에 전달 사항 표시
*
* @return string
*/
function login_form_note()
{
print '<div class="wrap"><h3 style="text-align: center; margin-bottom: 15px;">비밀번호는 "DEMO"입니다</h3></div>';
}
add_action( 'login_form', 'login_form_note', 0 );

그러면 로그인 화면이 다음과 같이 표시됩니다.

참고로 보안을 위해 입력한 사용자 이름(아이디)이 실제로 등록되어 있는 사용자 이름인지 여부가 표시되지 않도록 하려면 다음과 같은 코드를 사용할 수 있습니다. 즉, 사용자 이름이 잘못된 것인지, 아니면 사용자 이름은 정확하지만 비밀번호가 잘못된 것인지를 입력하는 사람이 알 수 없도록 하여 보안을 강화할 수 있습니다.

/**
* Hide wrong login names -- 로그인 이름 숨기기
*
* @return string
*/
function no_login_error()
{
return __( '로그인 정보가 잘못되었습니다.' );
}
add_filter( 'login_errors', 'no_login_error' );

자동 로그인 링크를 생성해주는 Autologin Links 플러그인

Autologin Links 플러그인을 사용하면 선택한 사용자가 자동 로그인 링크를 통해 워드프레스 사이트에 자동으로 로그인하도록 할 수 있습니다.

이 플러그인과 위에서 설명한 내용은 잘못 사용할 경우 보안상 문제가 될 수 있으므로 사용 시 신중을 기해야 합니다.

참고:


댓글 남기기

Leave a Comment