Recently I posted a question about whether it was a good idea to use seperate databases for administration and public logins in an ASP.NET SQL authorization database to prevent compromises to the public site from spilling over into the admin side.
I think I was really asking a bigger question though--when securing an application, should you spend any time on damage control?
I can see arguments for it, obviously you want to limit your exposure to a breach in your security, which may come unexpectedly from your framework. On the other hand, you only have a finite amount of resources in any case, and building these 'walls within walls' takes time and energy away from what should be the main focus of your security efforts.
Are there any clear, well-recognized best security practices that address this?