>
> @auth.requires_login()
> def main_func(): 
>     form = SQLFORM(db.atable) 
>     if form.process(onvalidation=..., dbio=False).accepted: 
>          rtn = scheduler.queue_task(task_func,….) 
>          if not rtn.id:      #there are errors 
>              raise HTTP(404) 
>          else: 
>              redirect(URL('accept_func', args=[...])) 
>     elif form.errors: 
>           ... 
>     else: 
>          ...
>
>
>
> *accept_func* calls an ajax: *task_completed* to test for task completion 
> (rtn.id) every 5 seconds till task.status=='COMPLETED' or 'failure' (NOT 
> COMPLETED after 5 calls)
>

accept_func is a web2py controller action, so it wouldn't be making Ajax 
requests, which must come from the browser. Is main_func an Ajax component 
(which would mean accept_func must also be an Ajax component)? Are you 
saying that once the accept_func component is loaded in the browser, it 
makes Ajax requests from the browser every 5 seconds to task_completed?
 

>
> If i make no mistake, there's a possiblity that auth.user expires before 
> the entire process finishes so i am not sure it's a good idea to decorate 
> *accept_func* (@auth.requires_login()) or* task_completed* 
> (@auth.requires_signature())
>

As long as you are making requests the login won't expire, as the 
expiration is measured from the time of the last request.

Anyway, if you want to use digital signatures, I don't see why you can't 
simply generate URLs with URL(..., user_signature=True) and then decorate 
both accept_func and task_completed with @auth.requires_signature().

Also, note that if you don't care about limiting a given user's requests 
based on the specific URL args and vars, you can simply decorate 
accept_func and task_completed with @auth.requires_login(). Digital 
signatures for URLs add extra protection in case you need to restrict 
access to only a particular URL (i.e., a particular combination of args and 
vars).

Anthony

-- 
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