ASP .NET MVC - отличный выбор для этого. Я создал несколько ASP MVC, которые работают как RESTful-сервисы, а также как веб-сайты.
Чтобы подвести итог используемой мной парадигмы проектирования, у каждого контроллера есть действие, которое испускает JSON-представление запрошенных данных. Указанные данные загружаются в модель представления на сервере, а встроенный сериализатор JSON заботится о стороне сервера, в то время как представление jQuery прекрасно загружает данные обратно для использования на моих реальных веб-страницах.
Сам сайт имеет индексные действия на каждом контроллере, которые генерируют эту необходимую разметку, но не данные. Методы jQuery document.ready на страницах загружают данные из того, что по сути является моим API для отдыха, но встроены прямо в сайт.
Оформить заказ Nerd Dinner для отличного примера кода. http://nerddinner.com/
Что касается безопасности, думаю, мой опыт будет отличаться от вашего. ASP MVC очень хорошо интегрируется с активным каталогом, если все ваши пользователи находятся в одном домене и имеют учетные данные AD. Это единственный метод, который я использовал, и с легкостью, успехом и удовлетворением.
Мне приходилось взаимодействовать с другими API, которые раздают токен при вызове метода авторизации. В таком случае полученный токен будет обязанностью клиентов хранить и передавать каждый запрос, но я не могу рассказать вам о деталях реализации, так как у меня нет опыта работы на этом фронте.