2017-09-27 62 views
0

我的用户从另一个系统来到我的wordpress网站。这个系统发送$ _SESSION到我的WordPress。禁用Wordpress密码散列

我有功能如何自动登录。但问题是,我可以从我的数据库只采取哈希密码。我需要禁用密码哈希和我的功能将工作。

function wpdocs_custom_login() { 

     if(isset($_SESSION['usr_email'])){ 
      $user = get_user_by('login', $_SESSION['usr_login']); 

      $creds = array(
       'user_login' => $user->user_login, 
       'user_password' => $user->user_pass, 
       'remember'  => true 
      ); 

      $user = wp_signon($creds, false); 

      if (is_wp_error($user)) { 
       echo $user->get_error_message(); 
      } 
     } 

} 

// Run before the headers and cookies are sent. 
add_action('after_setup_theme', 'wpdocs_custom_login'); 
?> 

你能帮帮我吗?

回答

0

这是你应该如何鉴别人员,如果他们应该登录,因为在某些第三方系统登录。

$user = get_user_by('login', $_SESSION['usr_login']); 
if($user) 
{ 
    clean_user_cache($user->ID); 
    wp_set_current_user($user->ID); 
    if (wp_validate_auth_cookie() == FALSE) 
    { 
     wp_clear_auth_cookie(); 
     wp_set_auth_cookie($user->ID, true); 
    } 
} 

这样您就可以在不影响安全性的情况下登录它们。
相关的文档:
clean_user_cache
wp_set_current_user
wp_validate_auth_cookie
wp_clear_auth_cookie
wp_set_auth_cookie