Хотя стандарт C ++ не имеет такого требования, некоторым компиляторам требуется, чтобы все шаблоны функций и классов были доступны в каждой используемой системе переводов. Фактически для этих компиляторов тела шаблонных функций должны быть доступны в файле заголовка. Повторить: это означает, что эти компиляторы не позволят их определять в файлах без заголовка, таких как .cpp-файлы
Существует ключевое слово export , которое должно смягчать этот проблема, но он нигде не близок к тому, чтобы быть портативным.
1) Я думаю, что вы должны реорганизовать свое приложение, чтобы вы могли использовать компонент вместо ссылки href. Вы бы знали, прошли ли вы аутентификацию или нет, основываясь на значении свойства состояния. Это значение может быть передано как опора вашему компоненту, в который вы бы поместили логику аутентификации? «Выход»: «Вход» или что-либо еще.
2) процесс в порядке, но вы должны убедиться, что вы выполняете проверку токена на стороне сервера, так как легко просто переключить переключатель на интерфейсе пользователя и сделать вид, что вы аутентифицировались очень легко.