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.