Drupal

Drupal 9 用户登录后跳转到指定页面

2022-03-28  本文已影响0人  又起风了_

有时我们需要根据用户的角色,登录成功后,跳转到不同的页面,以下是具体实现方法:

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Url;

/**
 * Implements hook_form_FORM_ID_alter().
 */
function MODULE_NAME_form_user_login_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  $form['#submit'][] = 'MODULE_NAME_user_login_form_submit';
}

/**
 * Custom submit handler for the login form.
 */
function MODULE_NAME_user_login_form_submit($form, FormStateInterface $form_state) {
  $user = \Drupal::currentUser();
  if (in_array('administrator', $user->getRoles())) {
    $url = Url::fromRoute('/to/admin/dashboard');
  } else {
    $url = Url::fromRoute('/to/normal/user');
  }
  $form_state->setRedirectUrl($url);
}
上一篇下一篇

猜你喜欢

热点阅读