首页 > 解决方案 > 将经过身份验证的 Drupal 用户重定向到包含 Drupal 网站的 iFrame

问题描述

我正在开发一个基于 Drupal 7 的网络广播网站。为了确保持久的音频体验,HTML5 广播播放器需要在 iFrame 中,这样音乐不会在每次页面重新加载时停止(即当用户浏览页面时) . 使用 Ajax 进行导航不是一个选项,因为 js 会与站点中已有的其他 js 冲突。

所以我想做的是在登录后重定向用户以加载整个 iFrame(包含 Drupal 网站和 HTML5 网络播放器)。

未经身份验证的用户 -> www.domain.com/index.php(只是 Drupal 站点)

经过身份验证的用户 -> www.domain.com/iframe.php(Drupal 站点 + HTML5 播放器)

我希望 HTML5 播放器只对经过身份验证的用户可见。

我确实尝试过这个建议:如果用户属于某个角色,如何在登录后将用户重定向到特定页面?角色?

这没有用。可能是因为我的 iFrame 不是 Drupal 制作的?各种重定向模块也没有:

https://www.drupal.org/project/redirect

https://www.drupal.org/project/url_redirect

https://www.drupal.org/project/front

https://www.drupal.org/project/globalredirect

我的测试都没有成功。最接近的是前端模块。不幸的是,它在每个页面重新加载时添加了另一个播放器,因此在 12-14 重新加载后,整个屏幕都充满了玩家。

标签: redirectiframedrupal-7audio-streamingpersistent

解决方案


如果您想检查用户是否登录,然后决定将用户重定向到不同的页面,请使用user_is_logged_in()函数检测用户登录状态,然后使用drupal_goto()函数将用户重定向到您想要的 url。


推荐阅读