Весьма коряво!
Я использую на БЕ своего ангуляр-приложения spring + security. Чтобы побороть авторизацию, пришлось сделать следующий костыль:
Спринг возвращает свою собственную страницу авторизации с формой и куками.
Мой партнер по БЕ разработке создал restful метод, в который я отправляю параметры из ангуляр приложения (логин + пароль + remember me признак) - а он получив эти параметры, эмулирует заполнение и сабмит спринговской формы и в ответе возвращает мне набор хэдеров + куки сформированные спринг секьюрити.
В остальном (если не считать этого костыля) - это чистый restful.
На основе набора ролей пользователя я уже на фронте определяю какие разделы меню/навигации видны пользователю.
Теоритически, он может вручную ввести в браузере урл того раздела, который не виден и перейти в него.
Но городить защиту на таком уровне не считаю нужным.
Даже если он попадет на "недоступную" страницу - есть проверка роли на уровне restful API