如何在Active Directory身份验证成功后在已授权的网页上配置注销



如何在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天内得到回报。

最新更新