Did anyone got it working? I have exact same problem.

Any help?

Thanks


On Tuesday, 16 October 2012 23:50:33 UTC+2, Adi wrote:
>
>
> If this is of any help, I tried tracing basic login in tools.py, and 
> figured out variable "basic" never gets value from 
> current.request.env.http_authorization, so username and password never get 
> passed through.
>
> On the local server, that value gets populated and basic login works as 
> expected... If anyone can share any advice where else to look for a 
> problem, please do. Sorry for going crazy here :)
>
> tools.py
>
>     def basic(self):
>         """
>         perform basic login.
>         reads current.request.env.http_authorization
>         and returns basic_allowed,basic_accepted,user 
>         """
>         if not self.settings.allow_basic_login:
>             return (False,False,False)
>         basic = current.request.env.http_authorization
>         if not basic or not basic[:6].lower() == 'basic ':
>             return (True, False, False)
>         (username, password) = base64.b64decode(basic[6:]).split(':')
>         return (True, True, self.login_bare(username, password))
>
>
>
> On Wednesday, October 10, 2012 10:46:54 AM UTC-4, Adi wrote:
>>
>> This is an example from book, where authentication and posting into 
>> database work good on a local server. 
>>
>> Once I moved the code to production redhat linux server, where we have 
>> routes.py as bellow all I get as result is a login redirect:
>> You are being redirected <a href=
>> "/user/login?_next=/webservices/api/customer.json%3FFirstName%3DTim5%26LastName%3DJson"
>> >here</a>
>>
>> If I remove authentication (@auth.requires_login() and 
>> @auth.requires_permission('insert customer through webservice')) on 
>> production server, records are inserted properly. 
>>
>> Tried adding default and webservices controllers into application 
>> specific routes.py, but it didn't help.
>>
>> Any suggestions what should I do? 
>>
>> Thanks,
>> Adnan
>>
>> tried in both, default.py and webservices.py controllers:
>>
>> auth.settings.allow_basic_login = True
>> @auth.requires_login()
>> @auth.requires_permission('insert customer through webservice')
>> @request.restful()
>> def api():
>>     response.view = 'generic.'+request.extension
>>     
>>     def GET(*args,**vars):
>>         patterns = [
>>             "/members[customer]",
>>             "/member_fn/{customer.FirstName.startswith}",
>>             "/member_ln/{customer.LastName.startswith}",
>>             "/member/{customer.FirstName}/:field",
>>             
>> "/member/{customer.FirstName}/orders[customer_order.customer_id]",
>>             
>> "/member/{customer.FirstName}/order[customer_order.customer_id]/{
>> customer_order.id}",
>>             
>> "/member/{customer.FirstName}/order[customer_order.customer_id]/{
>> customer_order.id}/:field"
>>             ]
>>         parser = db.parse_as_rest(patterns,args,vars)
>>         if parser.status == 200:
>>             return dict(content=parser.response)
>>         else:
>>             raise HTTP(parser.status,parser.error)
>>     def POST(table_name,**vars):
>>         if table_name == 'customer':
>>             return db.customer.validate_and_insert(**vars)
>>         elif table_name == 'customer_order':
>>             return db.customer_order.validate_and_insert(**vars)
>>         else:
>>             raise HTTP(400)
>>     return locals()
>>
>>
>>
>>
>>
>> web2py folder: routes.py
>> routers = dict(
>>     # base router
>>     BASE = dict(
>>         default_application = 'welcome', domains = {'crm.domain.com': 
>> 'crm' }
>>     ),
>> )
>>
>>
>>
>> crm app folder: routes.py (deleted)
>>
>>
>> Terminal test:
>>
>>
>> asm21:~ adnan$ curl --user webserv...@domain.com:pass -d 
>> "FirstName=Tim5&LastName=Json" http://crm.domain.com/api/customer.json
>> Result: You are being redirected <a href=
>> "/user/login?_next=/api/customer.json%3FFirstName%3DTim5%26LastName%3DJson"
>> >here</a>
>>
>> asm21:~ adnan$ curl --user webserv...@domain.com:pass -d 
>> "FirstName=Tim5&LastName=Json" http://crm.domain.com/webservices/api/
>> customer.json
>> Result: You are being redirected <a href=
>> "/user/login?_next=/webservices/api/customer.json%3FFirstName%3DTim5%26LastName%3DJson"
>> >here</a>
>>
>>
>>
>>
>>

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to