NAME

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

VERSION

version 0.03

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 passphrase 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 supported by the passphrase algorithms you're using.

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.

SUPPORT

Bugs may be submitted through the RT bug tracker (or bug-DBIx-Class-InflateColumn-Authen-Passphrase@rt.cpan.org).

AUTHOR

Florian Ragwitz <rafl@debian.org>

CONTRIBUTOR

Karen Etheridge <ether@cpan.org>

COPYRIGHT AND LICENCE

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.