Let me look into this.

On Aug 2, 4:17 pm, Niphlod <niph...@gmail.com> wrote:
> ok, I took a look into tools.py to get some more clear ideas.....it
> turns out that is a bit difficult to clean out the magic from Auth()
>
> I did a little mess up here (tends to be really confusing), and
> actually:
>
> from gluon.contrib.login_methods.basic_auth import basic_auth
>
> and
>
> auth.settings.login_methods = [basic_auth()]
>
> are needed if we're going to authenticate against an "external" server
> with basic authentication (i.e. you have a list of users on
> apache's .htaccess and you have to allow access to web2py using that
> infos and not the one stored in auth tables)
>
> So, in order to let web2py use basic authentication with the data
> stored in its auth tables, all we need is:
>
> auth.settings.allow_basic_login = True
>
> more on, now, I don't understand if the following is needed/useful:
>
> auth.settings.actions_disabled = [
> 'login',
> 'logout',
> 'register',
> 'verify_email',
> 'retrieve_username',
> 'retrieve_password',
> 'reset_password',
> 'request_reset_password',
> 'change_password',
>  'profile',
> 'groups',
> 'impersonate',
> ]
>
> and finally:
>
> def unauth():
>     head = 'Basic realm="%s"' % (request.application)
>     raise HTTP(401,['Unauthorized'])
>
> So, I discovered that raise HTTP(401,'hello') return the cruft in
> order to trick IE (is this needed still?), but if you put status as a
> list it will return only 'hello' (nice catch) but....
> 1) I'd need to set this function as the default "event" of not being
> authorized
> (eventually controlling that authorization header is not there and
> adding the www-Authenticate header)...
> it would be as easy as putting WWW-Authenticate=head as argument to
> HTTP), but it turns out that is reaaally difficult to put one in there
> (python dict limitation??)....can anyone point me in the right
> direction ?
>
> 2) I saw what auth.settings.allow_basic_login = True does (and
> auth.basic()) and it "allows" the basic authentication in addition to
> the default auth (also with disabled actions). Maybe the default auth
> can be shut down totally?
>
> Thanks a lot

Reply via email to