From the start, the BlogEngine.Net open source project has been designed using the provider model. In short, the provider model allows software to interface with numerous types of system, rather than being tied to one in particular. For example, BlogEngine.Net allows you to store and retrieve blog post data using either an XML file, or a database, depending on which Blog Provider you tell it to use. To switch between the two you simply change two lines of code inside the Web.Config file.
The .Net framework includes a nice provider called ActiveDirectoryMembershipProvider that allows applications to interface with Active Directory for user authentication purposes. You can use it with BlogEngine.Net in order to store user accounts and their associated passwords, as well as to authenticate users when they login to the blog system. This works great and I highly recommend using this provider if it makes sense for you to interface with Active Directory for you user system.
If you do decide to interface with Active Directory, you should know that even though the user accounts are managed by Active Directory, things like Roles (which defined permissions) and Profiles (which save user details) are not part of what the membership provider manages. User roles are managed by the Role Provider you configure BlogEngine.Net to use. And Profiles are managed by the Blog Provider, which there is only one of.
Today I am happy to announce a new Role Provider implementation that allows you to manage user permission (roles) using groups in Active Directory. It is appropriately named Active Directory Role Provider For BlogEngine.Net, and can be found in all its glory on CodePlex.
This role provider makes an excellent addition to the BlogEngine.Net project because it allows businesses that run AD to even further integrate the blog platform in with their systems. I hope that many of you find this useful. Good luck using it, and let me know if you have any questions, or find any bugs!
Click here to visit the BlogEngineADRP project site.