Thinster,
The asp.net out-of-the-box role can handle the job just fine, but it can quickly be a problem when you need to change a users role and/or level of permission of a page.
Z, I agree, manually adding/maintaining menu items and capabilities directly via sql..!!!! YA RIGHT..!!! This got old real quick..!!!

I changed the MenuItems and Capability in the BLL to inherit from the BaseEO and allow Add, Edit, Delete. In doing this you'll want to:
- Add Validation for deleting
- Check for IsDuplicate
- Create a button on the Grid page to 'Reload' the Load methods in Globals. This will update everything instantly.
You can then set a capability for the grid and edit page for this and only allow 'Developer' role or whomever access to these pages.
My only gripe that was left out was a BreadCrumbs control for the Menu Items. That would have been a nice final touch. This is something I had to add to my TODO list and haven't gotten to it yet.
Good luck,
Ronnie