hook_permission和控制访问[如何重定向到登录页面,如果用户没有登录](hook_per

2019-10-30 03:06发布

如何一个极限“是什么”,可以访问一个页面。 我对如何使用缺乏了解hook_permission()设置基于角色来控制访问用户权限hook_menu()项目。 但是,如果我有一个hook_menu()项目将被由系统本身单独使用? 例如,假设我有一个注册页面自定义模块: module/register -任何人都可以访问该页面。 然后,说我有一个另一页是只为管理员。 所以,我在注册hook_menu()其他项目,叫它module/register/reg_user_details -我不希望任何人能够浏览到module/register/reg_user_details

相反,我想,当用户登录页面是唯一可见的,我已经创建了一个hook_permission

/**
 * Implements hook_menu()
 * 
 */ 
function video_subtitles_menu() {
  $items = array();
  $items['video_subtitles/upload'] = array( //this creates a URL that will call this form at "video_subtitles_test/upload"
    'title' => 'Upload Subtitle', //page title
    'description' => 'Uploading subtitle for videos',
    'page callback' => 'drupal_get_form', //this is the function that will be called when the page is accessed.  for a form, drupal_get_form need to be used 
    'page arguments' => array('video_upload_subtitles_form'), //Name of the Uplaod Form 
    'access callback' => 'user_access',
    'access arguments' => array('administer video_subtitles module'),
  );

  $items['player/video_subtitle_status'] = array(
     'page callback' => 'video_subtitle_status',
     'access callback' => 'user_access',
     'access arguments' => array('administer video_subtitles status'),
  );
  return $items;
}

/**
 * Implements hook_permission.
 */
function video_subtitles_permission() {
  return array(
    'administer video_subtitles module' => array(
      'title' => t('Administer video_subtitles module'),
      'description' => t('Access the video_subtitles upload module Page'),
     ),
    'administer video_subtitles status' => array(
      'title' => t('Administer video_subtitles module status'),
      'description' => t('Access the video_subtitles module status Page'),
  ));
}

因此,用户不能,除非用户登录后才能访问我的网页,但我需要什么样的用户应重定向到时没有登录,他是admin,如果他成功登录,应该被重定向到我的网页登录页面。

  1. 访问网址d-7/example/my-module
  2. 如果已经登录显示的页面
  3. 如果不是在重定向登录到登录页面
  4. 如果用户登录成功重定向到d-7/example/my-module

什么是实现这一目标的最佳途径

类似的问题

使用挂机,菜单用钩-权限的访问被拒绝

使用钩菜单和-钩的许可到控制存取

可以-有人-解释存取参数功能于Drupal的

文章来源: hook_permission and control access [how to redirect to the login page if user not logged in]