Recreating the Wheel: Using Composite Keys, and RESTful Authentication split between models. . .?

Hi All,

I'm interested in creating something similar to, but not the same as,
Basecamp. I know, I know, why reinvent the wheel? Well, honestly,
because it's not my wheel and it's rather hard to make a living off of
others' wheels. :wink:

Anyway, I'm interested in creating a RESTFul setup with a few levels
of models. The most notable of which are Company, and User. As it
stands (or as I understand it), creating a RestfulAuthentication model
involves a single Model and Controller. However, with an application
of this nature I'm going to need a Company model that has many Users.
In order to both allow new companies to create usernames that are
"already used" by other companies, and limit redundancy within a
single company, I'm going to need composite keys.

So, I'm looking for quality (notice *quality*) URLs or direct
information regarding the following:

1) composite keys
2) restful authentication setup split between multiple models
3) any tips, tricks, recommendations, or warnings you have for an
endeavor of this nature.
4) any correction of potential misunderstandings I may have

Thanks in advance!

Anyone?

1) ???
2) account_location plugin:
http://svn.rubyonrails.org/rails/plugins/account_location/README

I haven't used this, but it's from Dr. Nic, so I suspect it's good:

http://rubyforge.org/projects/compositekeys

Rick,

I was speaking in #1 about the need for composite keys in order to
accommodate for Companies with many Users. Does that make sense or am
I missing something?

- Michael