Security

Hi all,

I've currently developing a rails application which relies on a further application server to get and store data.

Regarding authentication, I'm currently looking at the brilliant Authlogic as a solution. However, I'm wondering whether it's worth moving the password storage and checking up to the application server.

It would work something like this:

1) A user submits a username and password to the Rails app. 2) Rails then passes these to the application server, which then checks the credentials and returns a user and time based auth key. 3) Rails then uses this key to access the application server. At the moment no key is required, and the Rails app can call anything on the application server.

Advantages: -If the Rails app or webserver it's running on is compromised, the there is no direct access to the application server (since the attacker would still not be able to generate auth keys).

Disadvantages: -Increased complexity. -Missing out on a lot of clever Authlogic stuff.

So I guess the general question is whether removing the authentication from the Rails application is overkill or not: should I instead assume managing passwords on Rails is just as strong as pushing it up the the application server? How do most Rails applications manage their passwords? How do they fare?

Shak