Я реализовывал так.
От сервера приходит JWT token. При каждом переходе. Я проверяю валидный ли токен?
Для это используются
навигационные хуки router.beforeEach((to, from, next) => {
//......
}
Для защиты от переходов, как уже написали Выше, использовал Meta-data где указывал, каким ролям разрешен переход.