[Catalyst] Global behaviour modification

Stephen Howard stephen at enterity.com
Sat Mar 27 17:00:39 GMT 2010


I don't know if this would be centralized enough for you, but I'm fond  
of using ActionClass attributes to mark which actions require some  
certain precondition to be met before they're allowed to be run.  You  
can redirect them to your 'disallowed' page rather than running the  
action in question if they have the "hands off" flag set on their  
account.

- Stephen

On Mar 27, 2010, at 2:25 AM, Ovid wrote:

> --- On Sat, 27/3/10, Ovid <publiustemp-catalyst at yahoo.com> wrote:
>
>> From: Ovid <publiustemp-catalyst at yahoo.com>
>
>> I'm working on an app where users must authenticate (via
>> CatalystX::SimpleLogin and a custom ActionRole).  At
>> times, users may engage in activity which temporarily makes
>> it impossible to take any other action. Hypothetical
>> example: users kick off a job which takes 5 minutes to run,
>> so we restrict their ability to do *anything* else for that
>> 5 minutes. Thus, it would be nice if I could globally
>> redirect any authenticated user to something like
>> /user/waiting/ or something like that.
>
> Er, actually that would be "disallow any actions requiring  
> authentication". Some portions of the (FAQs, for example) don't  
> require authentication. Thus, if "before execute" was the way to go,  
> I'd need to know whether or not the user is taking an action  
> requiring authentication.
>
> Cheers,
> Ovid
> --
> Buy the book         - http://www.oreilly.com/catalog/perlhks/
> Tech blog            - http://blogs.perl.org/users/ovid/
> Twitter              - http://twitter.com/OvidPerl
> Official Perl 6 Wiki - http://www.perlfoundation.org/perl6
>
>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/




More information about the Catalyst mailing list