Ответ 1
Я рассматривал то же самое несколько месяцев назад и, наконец, решил пойти с логином в решении SPA.
Я думаю, что определяющим фактором для решения между двумя подходами является то, что вы не захотите загрузить полное приложение до входа пользователя в систему.
Если логин входит в состав SPA, тогда загрузка будет происходить до того, как пользователь будет представлен пользователю. Это имеет два недостатка. Сначала вы загружаете много js, css и т.д., Которые вам даже не нужны заранее. Во-вторых, вы предоставляете неавторизованным пользователям доступ к вашему коду. Я считаю, что это были второстепенные проблемы, поскольку они могут быть рассмотрены, но все еще там, чтобы их рассмотреть.
Если логин отделен от SPA, он дает вам накладные расходы на обслуживание, так как вы должны поддерживать что-то вне своего приложения, а также требовать интеграции с вашим приложением (например, тематика, логотипы, шрифты и т.д.). Но опять же Gmail делает это: P
Я не знаю, какую серверную технологию вы используете, но презентация google из ng-conf предлагает отличное решение этой проблемы (к сожалению, я уже реализовал свое решение, когда это получилось)
https://docs.google.com/file/d/0B4F6Csor-S1cNThqekp4NUZCSmc/edit (слайд 9 принадлежит)