Wednesday, March 12, 2008

Authentication Database

One of our challenges here is the number of databases that we try to maintain. Some Postgres, some MySQL. The means that our CSRs either have to look multiple places for info about a certain customer, or they simply don't have the needed info about that person.

With one initiative after another that requires a new db, complete with a User table, I've decided to create a centralized "Auth" database, so that we can keep the users in one place. We can then build a dashboard type app for it, which the CSRs can use to find info on a customer when they call in.

The Auth database should have as limited a number of tables as possible. It needs to be kept very generic. Because we'll mostly be using Ruby on Rails to access it, I'll also be creating a plugin that can authenticate against it. I expect to be able to inherit from models in the plugin, so that I can associate user data from the auth database into whatever app I am creating that will use it.

An old post on Dave Thomas' blog Sharing External ActiveRecord Connections has proved very helpful so far.

Speaking of Dave Thomas, I look forward to attending the Pragmatic Programmer's training session in Reston, VA, next month.

More later as the auth database take shape.