Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: juggling multiple CGI::Application subclasses

by Cubes (Pilgrim)
on Nov 06, 2007 at 13:03 UTC ( [id://649206]=note: print w/replies, xml ) Need Help??


in reply to juggling multiple CGI::Application subclasses

Our CGI::Application app has a couple of main sections, so I made a base class for each that contains all of the housekeeping I need for that area's subclasses: setup, teardown, cgiapp_init, cgiapp_pre/postrun, etc. Our auth stuff is in cgiapp_prerun.

In each subclass, I then "use base" the appropriate area's parent class, which gets me the auth & housekeeping stuff, override any functions (setup, for example) that need to be tweaked for the subclass, and add all the meat for the particular area of the app that subclass handles.

(Sorry I don't have time to go into a lot of detail, but hopefully this will get you pointed in a useful direction. I'll be out of town from tomorrow through the weekend, but I'd be happy to provide more info when I return.)

Edit: I should add that when I do the auth checks in cgiapp_prerun, I simply redirect to the login page if necessary, stashing away the intended URL in the database so the user can be redirected there after they sign in. This way I can keep the login handling routines themselves in their own tidy little module.

  • Comment on Re: juggling multiple CGI::Application subclasses

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://649206]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2024-09-08 00:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.