NAME

Gantry::Plugins::Shibboleth - Plugin for shibboleth based authentication

SYNOPSIS

Plugin must be included in the Applications use statment.

<Perl>
    use MyApp qw{
            -Engine=CGI
            -TemplateEngine=TT
            -PluginNamespace=your_module_name
            Shibboleth
    };
</Perl>

Bigtop:

config {
    engine MP20;
    template_engine TT;
    plugins Shibboleth;
    ...

There are two config options.

shib_attributes - Comma separated list of attributes that should be pulled from ENV. shib_group_attribute - Shibboleth attribute to use as the group membership.

DESCRIPTION

This plugin mixes in auth_user_row and auth_user_groups methods that get their values from shibboleth attributes. auth_user_row is an object with accessor methods for each of the shibboleth attributes. auth_user_groups returns a hash of groups that are taken from the attribute specified in the configuration file as the shib_group_attribute.

CONFIGURATION

The plugin needs to be specified in your application use statement. The only required config option is shib_attributes which is a comma separated list of attributes you want to be loaded into the auth_user_row. You can also specify a shib_group_attribute which will be used to populate the hash returned by the auth_user_groups method.

CONFIG OPTIONS

shib_attributes         - Comma separated list of attributes that should be pulled from ENV.
shib_group_attribute    - Shibboleth attribute to use as the group membership.

METHODS

get_callbacks

Registers the initialize function as a init level callback.

auth_user_row

This is mixed into the gantry object and can be called retrieve the user row which is an object with accessor methods for each of the specified shibboleth attributes.

auth_user_groups

This is mixed into the gantry object and can be called to retrieve the defined groups for the authed user.

initialize

This method is called on each request to load the specified shibboleth attributes.

SEE ALSO

Gantry

AUTHOR

John Weigel <jweigel@sunflowerbroadband.com>

COPYRIGHT AND LICENSE

Copyright (C) 2009 The World Company

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.