Drupal 7 hook_权限和控制访问[如果用户未登录,如何重定向到登录页面]

Drupal 7 hook_权限和控制访问[如果用户未登录,如何重定向到登录页面],drupal-7,drupal-modules,Drupal 7,Drupal Modules,如何限制“什么”可以访问页面。我不太了解如何使用hook\u permission()根据角色设置用户权限,以控制对hook\u菜单()项的访问。但是,如果我有一个仅由系统本身使用的hook\u menu()项,该怎么办?例如,假设我在自定义模块中有一个注册页面:module/register-任何人都可以访问该页面。然后,假设我有另一个网页,这是只为管理员。因此,我在hook_menu()中注册了另一项,称之为module/register/reg_user_details——我不希望任何人能

如何限制“什么”可以访问页面。我不太了解如何使用
hook\u permission()
根据角色设置用户权限,以控制对
hook\u菜单()
项的访问。但是,如果我有一个仅由系统本身使用的
hook\u menu()
项,该怎么办?例如,假设我在自定义模块中有一个注册页面:
module/register
-任何人都可以访问该页面。然后,假设我有另一个网页,这是只为管理员。因此,我在hook_menu()中注册了另一项,称之为
module/register/reg_user_details
——我不希望任何人能够浏览到
module/register/reg_user_details

相反,我希望页面仅在用户登录时可见,我已经创建了
hook\u权限

/**
 * 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'),
  ));
}
所以除非用户登录,否则用户无法访问我的页面,但是 当用户没有以管理员身份登录时,我需要的应该重定向到登录页面,如果他成功登录,应该重定向到我的页面

  • 访问url
    d-7/示例/我的模块
  • 如果已登录,则显示该页面
  • 如果未登录,请重定向到登录页面
  • 如果用户成功登录,则重定向到
    d-7/示例/my module
    页面
  • 实现这一目标的最佳方式是什么

    类似问题


    移动到drupal.stackexchange.com!!!已移动:)此问题似乎与主题无关,因为它属于