[英]Single Page App (SPA--Angular) and Authentication Best Practices?
我們正在研究將標准認證(登錄)與我們的Angular SPA集成的最佳方法。 我們遇到了兩種模式(見下文),並希望看到哪種被認為是一種“更好”的架構,可以將身份驗證集成到我們的Angular網站中。
模式1 - 保持與SPA的分離(參見此處 ):在此模式中,登錄過程在SPA之外完成(單獨的頁面加載),一旦用戶通過身份驗證,它們將被重定向到SPA(另一個頁面加載)。
模式2 - 集成登錄到SPA(參見此處和此處 ):在此模式中,身份驗證過程在SPA中,登錄狀態通過Angular路由器和服務進行管理。
我們傾向於PATTERN 2,但是我們希望從SO社區中聽到您的想法是什么,以及您如何比較這兩種模式。
謝謝!
幾個月前我正在考慮同樣的事情,最后決定在SPA解決方案中登錄。
我認為決定兩種方法之間的決定因素是,如果您想在用戶登錄之前加載完整的應用程序。
如果登錄是SPA的一部分,則在向用戶顯示登錄之前將進行引導。 這有兩個缺點。 首先你加載了許多你甚至可能不需要的js,css等。 其次,您授權未經授權的用戶訪問您的代碼。 我認為兩者都是小問題,因為它們都可以解決但仍有待考慮。
如果登錄與SPA分開,則會給您帶來維護開銷,因為您必須維護應用程序之外的某些內容,並且還需要與您的應用程序集成(例如主題,徽標,字體等)。 但話說回來,Gmail正在這樣做:P
我不知道你使用的是什么服務器技術,但是來自ng-conf的google演示文稿為上述問題提供了一些很好的解決方案(不幸的是,我已經實現了我的解決方案)
https://docs.google.com/file/d/0B4F6Csor-S1cNThqekp4NUZCSmc/edit (幻燈片9自己)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.