MVC Membership - Preview 506 Sep 2008
This post is out of date. Please reference this project's GitHub page for the latest code.
Last weekend I posted a release of the MVC Membership Starter Kit that targets Preview 5 of the ASP.Net MVC framework. There was no packaged release targeting Preview 4 (though if you downloaded the latest source, it worked), so this release essentially packages the changes from both previews.
Why does the MVC Membership Starter Kit still exist?
The biggest change affecting the MVC Membership Starter Kit is that the default ASP.Net MVC Web Application project includes login/logout, register, and change password functionality as of Preview 4. This is great and I'm glad to see them do it. It is my hope they will eventually include membership administration functionality as well. For now, however, they haven't included it. This leaves three main features that are now driving the existence of this project:
- Membership Administration: What good is registration, login, and logout if a site's owner cannot change a user's roles or manage their user base? While Visual Studio's Web Site Administration Tool covers most of your bases during development, it isn't a real option for use by web site administrators in a production application.
- OpenID Integration: Preview 4's built-in login functionality only covers the use of standard username/password authentication. It seems likely that this will continue, as I am not aware of any plans for official OpenID support within the .Net framework. We are using Andrew Arnott & co's DotNetOpenId project to help you let your users log in using OpenID.
- WindowsLive LiveID Integration: Maarten's LiveID integration has unfortunately not made this release. I anticipate that it will be available again for the next release, which will target the first beta release of ASP.Net MVC.
What has changed?
- No more login/logout/password retrieval. Because the AccountController and its views are now included by default in new projects, the need for this functionality has gone away.
- Less assemblies to reference. Rather than the MembershipAdministrationController and other code being compiled into a separate assembly that you must include, you now drop the controllers directly into your web app. This allows you to easily change the code as your project evolves. The starter kit's implementation is really just a starting point that you can build off of.
- Controllers are split. In previous releases the OpenID and WindowsLive login functionality was included in the MembershipAuthenticationController. The OpenID functionality has since been moved into a separate controller with separate views. This was done because (a) the MembershipAuthenticationController no longer exists and (b) moving forward more of the pieces of this kit will be separated from each other so that you can include them a la carte.
You can download the Preview 5 release of the MVC Membership Starter Kit from CodePlex: