我正在使用Admintool。我在管理工具中有一个Login as Partner按钮。当我点击管理工具时,我想直接转到用户个人资料而无需登录。我正在使用一个html页面,其中有一个标题,在该标题下我想要用户个人资料。
所以我正在做的是获取用户个人资料的网址并重定向到该网址。
我正在获取标题页,但是在它下面是登录页面转到用户个人资料。当我直接打开网址时,我可以访问用户个人资料。
但是当我重定向时,我正在获取登录页面以转到用户个人资料。我使用下面的代码重定向到网址。
## Redirecting the partner to abc.com
my $r = new CGI;
print STDERR " url is $result\n";
print $r->redirect( -URL => $result);
close(STDOUT);
exit(0);
请帮忙
答案 0 :(得分:0)
您没有说明是否要像公众那样查看用户的个人资料,如用户可能(编辑自己的个人资料)或管理员用户。
如果您需要像以用户身份登录一样查看页面,以下是我如何解决这样的案例:
在我们的会话中,我们有一个“real_user_id”和“effective_use_id”。通常它们是相同的,并且在会话处理的大多数地方,我们检查“effective_user_id”。但是,在管理区域中,有时我们希望以另一个用户身份登录,以便我们可以像他们一样查看内容。在这种情况下,我们在管理区域中有一个功能,将admin用户的“有效用户ID”设置为另一个用户。这使得我们可以在没有密码的情况下有效地“登录”用户,但由于系统仍然可以看到“真实用户ID”,我们还可以构建一个选项以返回到正常的管理员用户。
您可能遇到问题,因为当您重定向到正确的页面时,页面会重定向回登录屏幕,因为您没有登录该用户。您可以通过手动发出请求来查看命令行上发生的情况,如下所示:
HEAD -sSe 'http://example.com/users-profile-page-to-redirect-to'
('HEAD'工具来自LWP :: UserAgent perl模块)。
您可能需要更新“用户个人资料页”的身份验证,以便允许普通用户和管理员用户查看。如何执行此操作取决于您在系统中实施授权的方式。