I am working on a web application (C#, VS2008 with Entity modelling) and within about a year from now, they will ask me to add some login/authentication/authorization options to this site that can be managed through the site. Which is fine by me but I would like to know some good ways to implement such functionality.
Visitors for this site can be anyone, but they would have to register somehow before they can access the site, so we can keep track of unique visitors. Some visitors will get some additional access based upon their roles and in some cases a visitor will have their own, personalized start page on their site.
I have three alternatives right now: 1) Write a new system from scratch. 2) Use the functionality that VS provides. 3) Use the OpenID API from Google and a few others. (And add a role system on top of this.)
Are there more (free) options to manage users and roles?