1 |
[ I sent to the Catalyst list, but here's a copy for gentoo-perl, in |
2 |
case it helps anyone, including myself '-) ] |
3 |
|
4 |
------------------------------------------------------------------ |
5 |
|
6 |
PANIC!!! |
7 |
|
8 |
So, the gentoo overlay installation is altered like: |
9 |
|
10 |
dev-perl/Catalyst-Authentication-Store-DBIx-Class |
11 |
!dev-perl/Catalyst-Plugin-Authentication-Store-DBIx-Class |
12 |
!dev-perl/Catalyst-Plugin-Authentication-Store-DBIC |
13 |
|
14 |
Okay... no more 'Plugin' or 'DBIC' anymore, it seems. |
15 |
|
16 |
Then I did find this: |
17 |
http://cpan.uwinnipeg.ca/htdocs/Catalyst-Authentication-Store-DBIx-Class/Catalyst/Authentication/Store/DBIx/Class.html |
18 |
|
19 |
And, I try to change a couple of items in the configs, like so: |
20 |
|
21 |
authentication => { |
22 |
default_realm => 'members', |
23 |
realms => { |
24 |
members => { |
25 |
credential => { |
26 |
class => 'Password', |
27 |
password_field => 'password', |
28 |
password_type => 'clear' |
29 |
}, |
30 |
store => { |
31 |
class => 'DBIx::Class', |
32 |
user_class => 'MyAppDB::Users', |
33 |
id_field => 'user_id', |
34 |
role_relation => 'userroles', |
35 |
role_field => 'role_name', |
36 |
} |
37 |
|
38 |
... to mimic what is in that doco. |
39 |
|
40 |
Caught exception in BanTrace::Controller::Login->index "The user object |
41 |
Catalyst::Authentication::Store::DBIx::Class::User=HASH(0x9469e70) does |
42 |
not support any known password authentication mechanism.,, |
43 |
|
44 |
...here: |
45 |
|
46 |
35: if ($username && $password) { |
47 |
36: |
48 |
37: # Attempt to log the user in |
49 |
38: if ($c->login($username, $password)) { |
50 |
|
51 |
WTF???? |
52 |
|
53 |
My application is configured exactly like the tutorial... used to be |
54 |
written?? No. It still looks like: Authentication::Store::DBIC |
55 |
|
56 |
And that Plugin:: isn't part of the installation now... this _can't_ be |
57 |
okay, no? |
58 |
|
59 |
Alright, so this is the new 'login' method, 'authenticate'? |
60 |
|
61 |
37: # Attempt to log the user in |
62 |
38: # if ($c->login($username, $password)) { |
63 |
39: if ($c->authenticate($username, $password)) { |
64 |
|
65 |
|
66 |
Caught exception in BanTrace::Controller::Login->index "authenticate |
67 |
called with nonexistant realm: 'MYPASSWORD'? |
68 |
|
69 |
Ouch! Oh, with a hashref, now: |
70 |
|
71 |
# if ($c->login($username, $password)) { |
72 |
if ($c->authenticate({username => $username, password => |
73 |
$password})) |
74 |
|
75 |
So now I'm in... sort of. Other parts are broken... |
76 |
|
77 |
if ($c->check_user_roles('admin')) { |
78 |
|
79 |
... didn't seem to fly. |
80 |
|
81 |
Now, I'm stuck. That method comes from, I think, ::DBIC ... what's the |
82 |
new way? Fortunately, in this app, if you are not 'admin' you must be a |
83 |
user... but I'd like to have my ROLE back!!! |
84 |
|
85 |
Any help really, really appreciated. '-) |
86 |
|
87 |
Cheers, |
88 |
|
89 |
-- |
90 |
|\ /| | | ~ ~ |
91 |
| \/ | |---| `|` ? |
92 |
| |ichael | |iggins \^ / |
93 |
michael.higgins[at]evolone[dot]org |
94 |
-- |
95 |
gentoo-perl@g.o mailing list |