The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DBIx::Class::InflateColumn::Authen::Passphrase - Inflate/deflate columns to Authen::Passphrase instances

SYNOPSIS

    __PACKAGE__->load_components(qw(InflateColumn::Authen::Passphrase));

    __PACKAGE__->add_columns(
        id => {
            data_type         => 'integer',
            is_auto_increment => 1,
        },
        passphrase_rfc2307 => {
            data_type          => 'text',
            inflate_passphrase => 'rfc2307',
        },
        passphrase_crypt => {
            data_type          => 'text',
            inflate_passphrase => 'crypt',
        },
    );

    __PACKAGE__->set_primary_key('id');


    # in application code
    $rs->create({ passphrase_rfc2307 => Authen::Passphrase::RejectAll->new });

    my $row = $rs->find({ id => $id });
    if ($row->passphrase_rfc2307->match($input)) { ...

DESCRIPTION

Provides inflation and deflation for Authen::Passphrase instances from and to either RFC 2307 or crypt encoding.

To enable both inflating and deflating, inflate_passphrase must be set to a valid passhrase encoding. Currently the only supported encodings are rfc2307 and crypt. The specified encoding will be used both when storing Authen::Passphrase instances in columns, and when creating Authen::Passphrase instances from columns. See Authen::Passphrase for details on passphrase encodings.

Note that not all passphrase schemes supported by Authen::Passphrase can be represented in either RFC 2307 or crypt encoding. Chose the kind of passphrase encoding you're using based on the encoding the passphrase algorithms you're using support.

When trying to encode a passphrase instance with an encoding that doesn't support it, an exception will be thrown. Similarly, when trying to load a passphrase instance from a faulty or unknown encoded representation, an exception will be thrown.

METHODS

register_column

Chains with the register_column method in DBIx::Class::Row, and sets up passphrase columns appropriately. This would not normally be directly called by end users.

AUTHOR

Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Florian Ragwitz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.