阻止内容后登录重定向

时间:2014-11-13 10:36:06

标签: joomla3.0

我有一些非注册用户无法访问的文章。当他们按下链接时会提示他们登录,但成功登录后会将其发送到他们的个人资料。相反,我希望他们在登录后发送到目标文章。这可能吗?

1 个答案:

答案 0 :(得分:0)

您需要使用以下内容覆盖自定义代码中管理后端指定的默认登录名:

在用户成功登录后,将用户重定向到的网址,并将“base64_encode”功能应用于该网址。例如,

$redirectUrl = urlencode(base64_encode($redirectUrl));  
// a base64_encode of index.php?option=com_pizzapie' yeilds: 'aW5kZXgucGhwP29wdGlvbj1jb21fcGl6emFwaWU='

将'& return ='查询字符串添加到新编码的$ redirectUrl中。例如,

$redirectUrl = '&return='.$redirectUrl;

将$ redirectUrl附加到Joomla登录URL。例如,

$joomlaLoginUrl = 'index.php?option=com_users&view=login';
$finalUrl = $joomlaLoginUrl . $redirectUrl;

当你显示$ finalUrl时,它应该是这样的:'index.php?option = com_users& view = login& return = aW5kZXgucGhwP29wdGlvbj1jb21fcGl6emFwaWU ='

com_users中的controller.php文件检查JRequest对象(Joomla查询访问对象)中“return”的内容。如果它是以base64格式设置的,那么它将对它进行base64_decode并应用该重定向。