Here are my requirements:
I\'ll be adding users to N amount of roles; defined in a database.
I need to protect each controller action with
You can use the default membership provider and role provider, rather than implement your own, but you will need to also use the default asp.net membership database, aspnetdb.mdf.
See here for a walkthrough