12345678910111213141516171819 |
- package Trog::Authz;
- use strict;
- use warnings;
- no warnings 'experimental';
- use feature qw{signatures state};
- use constant 'valid_modules' => [ 'Default', 'Matrix' ];
- sub do_auth_for ($module, $params) {
- die "Invalid authorization class" if !grep { $module eq $_ } @{__PACKAGE__->valid_modules()};
- my $class = "Trog::Authz::$module";
- eval "require $class";
- die $@ if $@;
- return $class->new($params);
- }
- 1;
|