Of course the "right" way to do it would be to have the database back-end manage authentication, but this turns into a support nightmare for the developer. Take it from someone who's been there -- if you do it the "right" way, you'll end up spending most of your valuable tech support engineers' time supporting MS SQL or ORACLE or DB2 issues, when they really should only be supporting the application itself. It is tempting to just say, "Well, that's a Microsoft/Oracle/IBM problem" if you're that tech support engineer. But in the end you must support your customer. This means that now all your support engineers have to become experts in five different database packages -- that's not going to happen!
This was first published in April 2005