如何在Active Directory身份验证成功后在已授权的网页上配置注销?
这是代码:
!/usr/bin/perl
use CGI;
use Authen::Simple::ActiveDirectory;
use Authen::Simple;
use DBI;
use DBD::mysql;
read(STDIN, $FormData, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $FormData);
foreach $pair (@pairs)
{
# Separate the name and value:
($name, $value) = split(/=/, $pair);
# Convert + signs to spaces:
$value =~ tr/+/ /;
# Convert hex pairs (%HH) to ASCII characters:
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
# Store values in a hash called %FORM:
$FORM{$name} = $value;
}
$username=$FORM{'user'};
$password=$FORM{'pswd'};
$result;
my $ad = Authen::Simple::ActiveDirectory->new(
host => 'XXXXX.XXXX',
principal => 'XXX.XXXX',
);
if ( $ad->authenticate( $username , $password ) ) {
$result="successfull";
Page-X();
}
else
{
$result="unsuccessfull";
print "Content-Type: text/htmlnn";
print " n";
print "Authentication";
print "n";
print "n";
print "Check Logins";
print "n";
print "n";
}
如果用户成功通过身份验证,那么他将获得一个页面X。现在,我如何让他从第X页注销?
感谢您提前提供的帮助。
谨致问候,Chandu
您是在维护遗留代码还是在编写新软件?
use CGI;
线在历史上对互联网很重要,但不应再用于新的软件。然而,在手工阅读和解析STDIN时,您甚至没有使用CGI。你不应该那样做。
我建议阅读令人惊叹的Catalyst教程,了解Web开发自1994年以来的发展历程。
Active Directory的Catalyst插件(以及Apple、Zimbra、任何基于LDAP的系统)是Catalyst::Authentication::Store::LDAP
我真的建议先学习教程(它支持身份验证和授权),只有在您的初始应用程序工作并添加对MS AD身份验证的支持后,它才能作为一个替代品。
学习教程的努力将在不到3天内得到回报。