Login isLoggedIn的MODX登录块

Login isLoggedIn的MODX登录块,login,modx,Login,Modx,我正在使用isLoggedIn脚本来创建一个仅限成员的站点。除了一件事之外,它似乎工作得近乎完美:我使用的是完整登录包附带的普通块(lgnLoginTpl)。在表单中,需要一个带有url/域等的操作,但我需要它是动态的。这意味着,如果您进入一个受保护的页面,您将被重定向到登录,并在登录后返回到受保护的页面。我有不止一个受保护的页面,所以它一定是某种“智能”的。 &在这种情况下,redirectToPrior=1也不起作用 有谁能帮助我并告诉我如何正确设置lgnLoginTpl以使isLogged

我正在使用isLoggedIn脚本来创建一个仅限成员的站点。除了一件事之外,它似乎工作得近乎完美:我使用的是完整登录包附带的普通块(lgnLoginTpl)。在表单中,需要一个带有url/域等的操作,但我需要它是动态的。这意味着,如果您进入一个受保护的页面,您将被重定向到登录,并在登录后返回到受保护的页面。我有不止一个受保护的页面,所以它一定是某种“智能”的。 &在这种情况下,redirectToPrior=
1
也不起作用


有谁能帮助我并告诉我如何正确设置lgnLoginTpl以使isLoggedIn脚本按我的需要工作吗?

这听起来像是问题的第一部分,在需要时重定向到登录页面,只需在系统设置中设置正确的“未授权页面”即可解决&redirectToPrior应该是您所需要的,通过“在这种情况下不工作”,您的意思是它根本不工作还是不重定向回上一页,不管它是什么

如果事实是它根本不工作,那可能是因为它依赖于$\u SERVER['HTTP\u REFERER']`,即一个php服务器变量告诉页面哪个页面重定向到它。然而,这并不总是根据浏览器来设置。我实现的一个解决方法是在未精简的页面顶部放置一个小片段

$\u服务器['HTTP\u REFERER']='HTTP://'.$\u服务器['HTTP\u主机].$\u服务器['REQUEST\u URI']


这将“手动”将HTTP_REFERER设置为当前的URL,这是您想要的,因为URL在您从受保护的页面重定向到未经授权的URL后不会更改。然后您可以使用
登录?
代码段的&redirectToPrior参数。

谢谢您的回答

我尝试了一些东西,现在我似乎只有一个问题,那就是我被重定向到未经授权的页面(登录页面),这工作正常,但登录后我没有被重定向到正确的受保护页面

我把test1和test2分成了不同的页面。如果我登录,我总是被重定向到test1

test1登录->test1

test2登录->test1

似乎&redirectToPrior=1被&loginResourceId=
12
覆盖。我使用以下代码调用插件:

[[!Login? &loginTpl=`lgnLoginTpl` &logoutTpl=`lgnLogoutTpl` &errTpl=`lgnErrTpl` &logoutResourceId=`0` &loginResourceId=`12` &redirectToPrior=`1`]]
删除&loginResourceId=
12
(ID 12是test1)根本不起作用,并将my重定向到my 404页面(主页)。 &loginResourceId=
12
应该被删除,但是插入什么