Yes, I know : I asked the question :-)
That time I feel I needed more implementation precision.

Unfortunately, we ends up without enough time on that iteration and I'll have 
to use a design I didn't wanted to use originally : a state on the server.
So we're using JEE classical session where we only store a User object and a 
filter to check the session and the User object.
So, we have a state but a really small state and more important, that state do 
not spread everywhere in our code but only one place.

I really hope I'll have money to change that ASAP to a stateless server design.

Thanks for all your answers !

On Nov 16, 2009, at 22:40 , Burak Arslan wrote:

> 
> i just wanted to drop a note that a thread with a very closely related 
> subject can be found here:
> 
> http://www.mail-archive.com/qooxdoo-devel@lists.sourceforge.net/msg18152.html
> 
> best
> burak
> 
> Helder Magalhães wrote:
>> Hi Jean,
>> 
>> 
>> 
>> Jean-Baptiste BRIAUD -- Novlog wrote:
>> 
>>> How do you manage authentication of user on stateless servers environment
>>> ?
>>> 
>>> 
>> 
>> The most simple (and probable most effective) method is using HTTP
>> authentication. This causes the client to send the authentication
>> information with each request, and the server one needs to check the
>> information with its database. Most (at least all major) web servers support
>> this authentication scheme.
>> 
>> This may have a few lacunas (and workarounds) though:
>> * It's hard to force a logout, as the browser (by default) caches the
>> credentials provided in the first authentication prompt. But there are ways
>> [1] to "help" the browser forgetting about them...
>> * Some people say it's not very secure as the credentials are send to the
>> server in a weak encryption format. This can be worked around using digest
>> authentication, though some simpler (mobile/older) browsers don't support
>> it. Also, one can (and should) force the use of HTTPS in high security
>> environments.
>> 
>> 
>> 
>> Jean-Baptiste BRIAUD -- Novlog wrote:
>> 
>>> 1. Login
>>> So, I have a form to ask for login/pass to end-user, then it hash the pass
>>> and send login/hashedpass to the server.
>>> On server side, we can check that this end-user is authorized.
>>> 
>>> 
>> 
>> The default login prompt usually can't be personalized (it's created by the
>> browser), although there are some tricks [2] which basically consist in
>> capturing the credentials and send the first request using an AJAX approach
>> with the authentication information.
>> 
>> 
>> 
>> Jean-Baptiste BRIAUD -- Novlog wrote:
>> 
>>> 2. Using the server
>>> Now I send a request to do some business, how do you ensure that RPC
>>> request correspond to an authenticated end-user ?
>>> 
>>> 
>> 
>> The web server takes care of that, and using its API you may fetch who is it
>> if some operations are reserved to some users...
>> 
>> 
>> 
>> Jean-Baptiste BRIAUD -- Novlog wrote:
>> 
>>> * Are you also doing something on client side with that cookie ?
>>> 
>>> * Could that be as simple as copy/paste the cookie to another machine to
>>> bypass security ?
>>> How do you protect against that copy/past attack ?
>>> 
>>> * How do you protect, if you protect, against javascript or more generally
>>> against client-side hacking : DOM modification, javascript modification,
>>> ...
>>> 
>>> 
>> 
>> As far as I know, HTTP authentication doesn't suffer from this kind of
>> attacks...
>> 
>> 
>> 
>> Jean-Baptiste BRIAUD -- Novlog wrote:
>> 
>>> * Don't forget that due to good qooxdoo RPC design, requests are
>>> individually asynchronous and sent in parallel, and we are using that
>>> heavily.
>>> I add that because apparently, adding some random and/or crypted value to
>>> the RPC request that the server would eventually controlled doesn't work.
>>> This is because you can't ensure that all RPC thread will share the value
>>> changed on the server side.
>>> 
>>> 
>> 
>> HTTP-based authentication is managed by the browser, therefore no worries
>> regarding client-server communication.
>> 
>> 
>> Hope this helps,
>> Helder
>> 
>> 
>> [1] http://www.berenddeboer.net/rest/authentication.html#permanent-logout
>> [2] http://www.berenddeboer.net/rest/authentication.html#login-page
>> 
> 
> 
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
> trial. Simplify your report design, integration and deployment - and focus on 
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to