Это не простой вопрос.
Вы никогда не указываете, какой язык вы хотите использовать, и называете некоторые функции, но сколько из этих функций вы хотите.
Я имею в виду, что мог бы предложить ряд платформ и инструментов для ASP.Net MVC или веб-форм, но что если вы разработчик PHP или Java-разработчик?
Я мог бы предложить SharePoint (и мне, как правило, не нравится sharepoint, но все, что вам нужно, это SharePoint), но тогда возникает вопрос:
Сколько гибкости и свободы вы хотите настроить или сколько вы хотите, чтобы фреймворк делал, и вы просто обезьяна кода.
Так что я дам вам только мое мнение.
Я использую ASP.Net MVC для своих пользовательских приложений. Он делает все, что вы хотите, и дает мне большую свободу для создания и расширения с помощью инструментов, если я так сделаю. Плюс из коробки есть пользовательская база данных с ролями, которую я могу легко создать из босса, когда я впервые запускаю приложение.
Кроме того, CRUD совершенно прост и прямо из коробки. просто зацените http://www.asp.net/mvc есть учебный раздел, в котором рассказывается, что вы хотите, и который вы можете выполнить за полдня.
Тогда есть некоторые OR / M, такие как NHibernate, Entity Framework, Subsonic, которые используют www.google.com, чтобы найти учебники для них, если вы не знакомы с ними.
Кроме того, есть SharePoint, у которого есть кривая обучения, но как только вы обойдете его, это будет довольно просто, так как легко выявлять ошибки, фокусироваться на бизнес-логике и не беспокоиться о другой схеме базы данных (поскольку вам даже не нужно прикасаться база данных).