我正在使用isLoggedIn Script作为仅限会员的网站。它似乎除了一件事之外几乎完美:我正在使用普通的Chunk(lgnLoginTpl),它带有完整的Login包。在形式上需要一个带有url / domain等的动作,但我需要它动态。这意味着如果您进入受保护的页面,您将被重定向到登录并登录到受保护的页面。我有多个受保护的页面,所以它必须是某种“智能”。
& redirectToPrior = 1
在这种情况下也不起作用。
任何人都可以帮忙告诉我如何正确设置lgnLoginTpl以使isLoggedIn脚本能够正常工作吗?
答案 0 :(得分:0)
这听起来像是问题的第一部分,在需要时重定向到登录页面,只需在系统设置中设置正确的“未授权页面”即可解决。 & redirectToPrior应该是你需要的,“在这种情况下不工作”,你的意思是它根本不工作或不重定向回到上一页,无论它是什么?
如果事实上它根本不起作用,那可能是因为它依赖于$ _SERVER ['HTTP_REFERER']`,即一个php服务器变量告诉页面哪个页面重定向到它。但是,这并不总是取决于浏览器。我实施的解决方法是在 Unathorized 页面顶部放置一个小片段
$_SERVER['HTTP_REFERER'] = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
这会“手动”将HTTP_REFER设置为当前网址,这是您想要的,因为在您从受保护的网页重定向到未经授权的网址后,网址不会更改。然后您可以使用Login?
代码段的& redirectToPrior参数。
答案 1 :(得分:0)
感谢您的回答。
我尝试了一些东西,现在看来我只有一个问题就是我被重定向到未经授权的页面(登录页面),这样可以正常工作但登录后我没有被重定向到正确的受保护页面。
我做了不同的页面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)根本不起作用,并将我重定向到我的404页面(主页)。
应该删除& loginResourceId = 12
但是要插入什么?