如何在共享主机上为Perl网站实现基于cookie的身份验证?

时间:2010-01-09 15:44:28

标签: perl apache cookies authentication

我是Perl的新手,我完全不知道如何处理这个问题。我们有一个旧的Perl应用程序,以前使用Apache auth;我们想用基于cookie的表单式身份验证替换它。我知道这是特定于案例的,并且没有一个答案,但一些一般的提示将非常感激。

我是否需要编辑网站中的所有.pl个文件?或者我可以使用“金锤”解决方案吗?我可以使用CPAN上有什么东西吗?我们正在使用Perl v5.8.8,如果它很重要,我们正在使用Apache 2 共享托管。我很乐意在必要时提供更多信息。

3 个答案:

答案 0 :(得分:1)

要识别/需要身份验证,需要通过最初接收用户请求的.pl文件进行检查。因此,是否需要更改所有.pl文件的答案取决于应用程序的结构:

编辑添加:如果您正在处理第一个模型,那么我强烈建议您使用Cookie处理代码设置外部模块(.pm文件)从每个单独的.pl文件中调用它,而不是在整个地方复制该代码。理想情况下,这可以让您在每个.pl中只添加几行代码:

use MyCookieHandlingModule qw(verify_cookie redirect_to_login);
my $q = CGI->new;  # ...unless you're already using CGI in object-oriented mode
redirect_to_login unless verify_cookie($q);

答案 1 :(得分:0)

你可以在a level outside the Perl program处完成。

答案 2 :(得分:0)

感谢您的回答,但我最终决定CGI::Session::Auth::DBI在共享托管方面做得很好。