>>> ASP.NET MVC 4 in C# w/Razor
>>> Entity Framework
>>> DotNetOpenAuth ([url removed, login to view])
>>> jQuery (input validation)
We are looking for an ASP.NET MVC 4 project template (using the current MVC 4 RC). This project template should cover all authentication, authorization and CRUD operations for the user database. The project goal is to provide a base template to junior developers. It is crucial that the entire project be properly and thoroughly commented so our junior developers can easily understand and modify any aspect of the project.
Authentication should be setup to use OpenID exclusively with support for Google, Yahoo! and Microsoft Windows Live ID. The project template should include logon, logoff and register tools.
Authorization should be built around a 'UserRole' column in the user database ("user" and "admin" are all that is required for the project, but you must allow for the addition of other roles).
CRUD operations should include all columns in the user database and access should be limited by role:
- unauthenticated: 'register' page only (elevated to 'user' upon registration)
- "user" role access: 'edit my profile' page only
- "admin" role access: create, edit, delete any user.
User database (using Entity Framework)
- UserID (int identity)
- First Name
- Last Name
- Email Address
- IsActive (bool)
* Note: you cannot use the standard ASP.NET Membership or Role databases.
Site design (CSS & HTML5 Razor Views) - the default MVC 4 layout/views should be used.
Once again, please remember that our goal is a simple project template that junior developers can quickly grasp and modify for new projects (that meet our basic requirements as detailed above).