Во-первых, вы должны предположить, что пользователь может каким-либо образом манипулировать веб-страницей и получать доступ ко всем данным, хранящимся на стороне клиента. Таким образом, вы не должны хранить конфиденциальные данные на клиенте, к которым вы не хотите, чтобы пользователь имел доступ. (Возможно, вы этого не делаете, но я подумал, что должен указать на это.)
Я полагаю, у вас есть компонент профиля. Вы можете использовать средства защиты Vue Router , чтобы авторизовать переход и прервать или перенаправить его, если он запрещен.
Если пользователь вошел в систему, то, вероятно, вы храните информацию о зарегистрированном пользователе на клиенте. Вы можете использовать это, чтобы проверить, принадлежит ли посещаемая страница профиля вошедшему в систему пользователю.
В вашем профиле:
beforeRouteEnter(to, from, next) {
if (!loggedInUser) {
// User not logged in
next('/')
} else if (loggedInUser.id !== to.params.userId) {
// User is accessing profile page of another user, redirect
// to their profile page instead
next({ params: { userId: loggedInUser.id } })
} else {
next()
}
}
Это всего лишь пример того, что вы можете сделать, я не могу дать конкретный ответ, не зная точно, как работает ваше приложение.