I am using "Contact form 7" to make forms and "members" plugin to give differential capacities. The problem i have is if i give a student the capacity 'edit_post', it also gives him acces in admin to ...
I've had good luck for several years (6 years!) running WordPress with Members Only and Feed Keys. This provided a completely members only blog (no external view at all) as well as private RSS feeds ...