On Tue, Dec 14, 2010 at 9:20 PM, Al Newkirk & Associates <we@ana.im> wrote:
Okay now that im on an actual computer we can chat ... RBAC is kinda-complex idea I suppose. Once grasp it you'll understand that what you're trying to do already exists. If you want to package your custom auth module with your app, simply add lib/Dancer/Plugin/Auth/RBAC/Credentials/MyAuth.pm to your app, now it can be shipped as you like.
Now, I get it!
Someone gave you a bit of misinformation regarding the config file ... this is what it should look like:
plugins: Auth::RBAC: credentials: class: MyAuth options: (everything under this gets passed-in)
Also, this variable $Dancer::Plugin::Auth::RBAC::settings holds all plugin variables (hashref)
Thanks for the correction. Am writing one now.
On Tue, Dec 14, 2010 at 10:03 AM, <dancer-users-request@perldancer.org>wrote:
Send Dancer-users mailing list submissions to dancer-users@perldancer.org
To subscribe or unsubscribe via the World Wide Web, visit http://www.backup-manager.org/cgi-bin/listinfo/dancer-users or, via email, send a message with subject or body 'help' to dancer-users-request@perldancer.org
You can reach the person managing the list at dancer-users-owner@perldancer.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Dancer-users digest..."
Today's Topics:
1. Re: Dancer-users Digest, Vol 10, Issue 14 (Gurunandan Bhat)
----------------------------------------------------------------------
Message: 1 Date: Tue, 14 Dec 2010 20:33:22 +0530 From: Gurunandan Bhat <gbhat@pobox.com> Subject: Re: [Dancer-users] Dancer-users Digest, Vol 10, Issue 14 To: awnstudio@gmail.com Cc: dancer-users@perldancer.org Message-ID: <AANLkTimPNrhqpNZS9RW20NxX8YDuwAFKW3=_y4WLfe2N@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
On Tue, Dec 14, 2010 at 1:20 PM, <awnstudio@gmail.com> wrote:
Just my 2 cents, ... From my blackberry. RBAC::Credentials::MyAuth is where you should create you custom auth class.
I would normally have preferred to use the App Namespace rather than the RBACC namespace. One advantage that I see in doing this is that it allows me to distribute and control my application from a single point rather than have the deployer install modules in different folders.
What I loose is that plugin_setting() will no longer return config under
plugins: Auth::RBAC: credentials: class: MyAuth mykey: myvalue
and that I will have to create a custom entry outside the plugins: yaml tree. I can live with that. In fact I just got introduced to Dancer 4 waking hours ago and I have already ported 2 apps. With that kind of power, I guess I can live with anything :)
Yes you can subclass it but the boilerplate is very minimal so just copy and paste and alter.
True.
Also in the config.yml, everything under the plugin name is passed as the options hashref, .e.g. Config, MySQL, MyApp, etc
...but only if you are under the Dancer::Plugin namespace - subclassing Dance::Plugin is, I understand not enough.
Thanks for your comments - it did help me understand this a little better.
Sent from my Verizon Wireless BlackBerry
-----Original Message----- From: dancer-users-request@perldancer.org Sender: dancer-users-bounces@perldancer.org Date: Tue, 14 Dec 2010 09:56:42 To: <dancer-users@perldancer.org> Reply-To: dancer-users@perldancer.org Subject: Dancer-users Digest, Vol 10, Issue 14
Send Dancer-users mailing list submissions to dancer-users@perldancer.org
To subscribe or unsubscribe via the World Wide Web, visit http://www.backup-manager.org/cgi-bin/listinfo/dancer-users or, via email, send a message with subject or body 'help' to dancer-users-request@perldancer.org
You can reach the person managing the list at dancer-users-owner@perldancer.org
When replying, please edit your Subject line so it is more specific than "Re: Contents of Dancer-users digest..."
Today's Topics:
1. Can I subclass DP::Authorize::Credentials from a different namespace (Gurunandan Bhat) 2. Use of uninitialized value $values[0] in... Route.pm line 80 (Puneet Kishor) 3. Secure http (https) with Dancer (Gurunandan Bhat) 4. Re: Secure http (https) with Dancer (Roman Galeev) 5. Re: Secure http (https) with Dancer (Gurunandan Bhat) 6. Re: Can I subclass DP::Authorize::Credentials from a different namespace (sawyer x) 7. Re: Use of uninitialized value $values[0] in... Route.pm line 80 (sawyer x)
----------------------------------------------------------------------
Message: 1 Date: Tue, 14 Dec 2010 00:40:46 +0530 From: Gurunandan Bhat <gbhat@pobox.com> Subject: [Dancer-users] Can I subclass DP::Authorize::Credentials from a different namespace To: Dancers <dancer-users@perldancer.org> Message-ID: <AANLkTi=UP2aDRsH2tiWWWHMnoEK4pJsJtyJumPW=-Fiv@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1
Hi,
I want to subclass Dancer::Plugin::Authorize::Credentials but not in the DPAC namespace, but in my App namespace, essentially something that would go like this:
package App:Authenticate; use base qw/Dancer::Plugin::Authorize::Credentials/;
sub authorize { my ($app, $opts, $username, $passwd) = @_; ..... }
1;
I have two questions:
1. Can I do this? 2. If yes, how do I set option parameters in config.yml so that they are passed as a hashref in $opts.
Thank you.
----------------------------------------------------------------- dancer does for web frameworks what sqlite did to databases
------------------------------
Message: 2 Date: Mon, 13 Dec 2010 16:30:05 -0600 From: Puneet Kishor <punk.kish@gmail.com> Subject: [Dancer-users] Use of uninitialized value $values[0] in... Route.pm line 80 To: dancer-users <dancer-users@perldancer.org> Message-ID: <4D069E6D.3000307@gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
How do I debug something like this?
[Mon Dec 13 16:26:07 2010] [error] [client 127.0.0.1] Use of uninitialized value $values[0] in join or string at /usr/local/lib/perl5/site_perl/5.12.1/Dancer/Route.pm line 80.
Seems to happen when I visit the root of my web site, for example, http://server.com/ without anything after .com/....
-- Puneet Kishor
------------------------------
Message: 3 Date: Tue, 14 Dec 2010 09:11:38 +0530 From: Gurunandan Bhat <gbhat@pobox.com> Subject: [Dancer-users] Secure http (https) with Dancer To: Dancers <dancer-users@perldancer.org> Message-ID: <AANLkTi=UPa4=FDPGTwaDKaRgiat=6jUETVTD-8KaUKFs@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1
Hi,
How can I write a secure http web application with Dancer. I would like my application to be available on https://myapp
Thank you
------------------------------
Message: 4 Date: Tue, 14 Dec 2010 10:07:42 +0500 From: Roman Galeev <noc@nelcom-voip.com> Subject: Re: [Dancer-users] Secure http (https) with Dancer Cc: Dancers <dancer-users@perldancer.org> Message-ID: <20101214100742.49036a1e@lenobook.jh> Content-Type: text/plain; charset=UTF-8
?? Tue, 14 Dec 2010 09:11:38 +0530 Gurunandan Bhat <gbhat@pobox.com> ????????:
Hi,
How can I write a secure http web application with Dancer. I would like my application to be available on https://myapp
Just put nginx in front of dancer.
------------------------------
Message: 5 Date: Tue, 14 Dec 2010 11:27:59 +0530 From: Gurunandan Bhat <gbhat@pobox.com> Subject: Re: [Dancer-users] Secure http (https) with Dancer To: Roman Galeev <noc@nelcom-voip.com> Cc: Dancers <dancer-users@perldancer.org> Message-ID: <AANLkTimyvru92aj=xwUm1F6cEShOHhiGu-6WbKYavTQ2@mail.gmail.com> Content-Type: text/plain; charset=UTF-8
Thank you. I have set up a reverse apache proxy and I was wondering if there was a better way
Thanks once again
On Tue, Dec 14, 2010 at 10:37 AM, Roman Galeev <noc@nelcom-voip.com> wrote:
?? Tue, 14 Dec 2010 09:11:38 +0530 Gurunandan Bhat <gbhat@pobox.com> ????????:
Hi,
How can I write a secure http web application with Dancer. I would like my application to be available on https://myapp
Just put nginx in front of dancer. _______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users
------------------------------
Message: 6 Date: Tue, 14 Dec 2010 10:51:10 +0200 From: sawyer x <xsawyerx@gmail.com> Subject: Re: [Dancer-users] Can I subclass DP::Authorize::Credentials from a different namespace To: Gurunandan Bhat <gbhat@pobox.com> Cc: Dancers <dancer-users@perldancer.org> Message-ID: <AANLkTimGAbcA_7HCDPMvOMhO5BL7YU9GtoEfXbomF16r@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1"
Hi!
First of all, Dance::Plugin::Authorize has been renamed as Dancer::Plugin::Auth::RBAC< http://search.cpan.org/perldoc?Dancer::Plugin::Auth::RBAC> .
This was a crucial change in order to allow a more organic expansion of
the
Plugin namespace.
On Mon, Dec 13, 2010 at 9:10 PM, Gurunandan Bhat <gbhat@pobox.com> wrote:
1. Can I do this?
Of course.
2. If yes, how do I set option parameters in config.yml so that they are passed as a hashref in $opts.
In order to get Dancer to send your subclass the configuration for the plugin, it has to sit on the Plugin namespace. That is, it should be called Dancer::Plugin::My::App::Authorize or something like that. Then just set the correct plugin name in the config.yml file.
For example:
plugins: My::App::Authorize: credentials: class: Config options: accounts: user01: password: foobar
roles: - guest - user user02: password: barbaz roles: - admin
If you still wish to separate the namespace, you have two options: 1. Simply read the settings yourself from the config file (setting('MyApp')->{'authorize') or something like that). 2. You can re-register your subclass with Dancer, making sure Dancer sends it its settings automatically. Check the RBAC.pm source for this.
When subclassing RBAC, notice it has lexical file-scoped variables (specifically $settings). These variables won't be overridden by simply subclassing or fiddling with the symbol table, since they're sitting in the lexical pad of the file. If you find need for RBAC to refactor and abstract away that part, feel free to make any suggestions or (better yet) patches to do that.
Franck is working on refactoring RBAC and he could take that into account, if you approach him with it.
Good luck, happy hacking! :)
Sawyer.