DBIx::Class::InflateColumn::Authen::Passphrase - Inflate/deflate columns to Authen::Passphrase instances
version 0.03
__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)) { ...
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.
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.
Bugs may be submitted through the RT bug tracker (or bug-DBIx-Class-InflateColumn-Authen-Passphrase@rt.cpan.org).
Florian Ragwitz <rafl@debian.org>
Karen Etheridge <ether@cpan.org>
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.