man > Authen::SASL::Perl::GSSAPI

đŸˇī¸ NAME

Authen::SASL::Perl::GSSAPI - GSSAPI (Kerberosv5) Authentication class

🚀 Quick Reference

Use CaseCommandDescription
Initialize SASL with GSSAPIuse Authen::SASL qw(Perl); $sasl = Authen::SASL->new(mechanism => 'GSSAPI');Create a SASL client object for GSSAPI (Kerberos) authentication
Authenticate to LDAP$ldap->bind(sasl => $sasl);Bind to an LDAP server using GSSAPI SASL authentication
Start client with service/host$sasl->client_start($service, $host);Initiate GSSAPI authentication to a specific service@host

📋 SYNOPSIS

use Authen::SASL qw(Perl);

$sasl = Authen::SASL->new( mechanism => 'GSSAPI' );

$sasl = Authen::SASL->new( mechanism => 'GSSAPI',
                           callback => { pass => $mycred });

$sasl->client_start( $service, $host );

📖 DESCRIPTION

This method implements the client part of the GSSAPI SASL algorithm, as described in RFC 2222 section 7.2.1 resp. draft-ietf-sasl-gssapi-XX.txt.

With a valid Kerberos 5 credentials cache (aka TGT) it allows to connect to service@host given as the first two parameters to Authen::SASL's client_start() method. Alternatively, a GSSAPI::Cred object can be passed in via the Authen::SASL callback hash using the `pass' key.

Please note that this module does not currently implement a SASL security layer following authentication. Unless the connection is protected by other means, such as TLS, it will be vulnerable to man-in-the-middle attacks. If security layers are required, then the Authen::SASL::XS GSSAPI module should be used instead.

📞 CALLBACK

The callbacks used are:

📝 EXAMPLE

#! /usr/bin/perl -w

use strict;

use Net::LDAP 0.33;
use Authen::SASL 2.10;

# -------- Adjust to your environment --------
my $adhost      = 'theserver.bla.net';
my $ldap_base   = 'dc=bla,dc=net';
my $ldap_filter = '(&(sAMAccountName=BLAAGROL))';

my $sasl = Authen::SASL->new(mechanism => 'GSSAPI');
my $ldap;

eval {
    $ldap = Net::LDAP->new($adhost,
                            'die')
      or  die "Cannot connect to LDAP host '$adhost': '$@'";
    $ldap->bind(sasl => $sasl);
};

if ($@) {
    chomp $@;
    die   "\nBind error         : $@",
          "\nDetailed SASL error: ", $sasl->error,
          "\nTerminated";
}

print "\nLDAP bind() succeeded, working in authenticated state";

my $mesg = $ldap->search(base   => $ldap_base,
                         filter => $ldap_filter);

# -------- evaluate $mesg

🔧 PROPERTIES

The properties used are:

🔗 SEE ALSO

Authen::SASL, Authen::SASL::Perl

đŸ‘Ĩ AUTHORS

Written by Simon Wilkinson, with patches and extensions by Achim Grolms and Peter Marschall.

Please report any bugs, or post any suggestions, to the perl-ldap mailing list <perl-ldap AT perl.org>

ÂŠī¸ COPYRIGHT

Copyright (c) 2006 Simon Wilkinson, Achim Grolms and Peter Marschall. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Authen::SASL::Perl::GSSAPI
đŸˇī¸ NAME 🚀 Quick Reference 📋 SYNOPSIS 📖 DESCRIPTION
📞 CALLBACK
📝 EXAMPLE
🔧 PROPERTIES
🔗 SEE ALSO đŸ‘Ĩ AUTHORS ÂŠī¸ COPYRIGHT

Generated by phpman v4.10.0-16-g1a0e228 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-09-22 19:53 @216.73.217.0
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!

^_top_^