2017-06-19 30 views
0

我想實現「快速登錄」。如何在保存商店的同時更換用戶?

我正在開發一個企業軟件,其中許多用戶在同一個組織中使用相同數據在同一臺計算機上工作,我希望能夠知道誰做了什麼以及什麼時候做什麼。現在他們必須註銷並登錄,並且必須重新加載數據才能加載到商店中。

我想要的是,他們能夠在不註銷的情況下單擊組織中的用戶,插入他的密碼,並在保存商店時切換用戶。

任何想法我可以做到這一點?

我使用ember-simple-auth v1.1.0ember v2.10.2

+0

我從來沒有聽說過這個。你擔心用戶在工作之前忘記切換用戶嗎? – AlexMA

+0

我只想讓用戶能夠在同事正在使用的計算機上以自己的身份快速登錄,而不必等待數據再次加載。 –

回答

0

我實際上是能夠通過簡單地使用authenticate()與其他用戶,但從未調用invalidateSession()這是調用sessionInvalidated()的功能,看起來像這樣來解決這個問題:

sessionInvalidated() { 
    if (!testing) { 
     if (this.get('_isFastBoot')) { 
     this.transitionTo(Configuration.baseURL); 
     } else { 
     window.location.replace(Configuration.baseURL); 
     } 
    } 
    } 

所以通過不調用sessionInvalidated()用戶ISN」 t重定向或頁面刷新,並且新用戶能夠在不切換頁面的情況下繼續使用商店。

1

當用戶註銷simpliest解決方案將被禁用頁面重載。據我所知,這是一個重新加載導致數據從商店丟失,而不是本身註銷。爲此,您需要在application路由中覆蓋sessionInvalidated方法。例如,

sessionInvalidated() { 
    this.transitionTo('/login'); 
}, 

但是,請記住 - 你較低的安全使用這種方法:如果有人將註銷並讓與應用開放,其他人的網頁都會有一種可能性來提取數據(如果他們有足夠的技術背景,在最少安裝餘燼檢查器)。

其他解決方案將需要大量的研究。我認爲它應該有可能實現自定義的認證,這將允許認證新用戶而不用註銷以前,只需替換存儲中的令牌。但我不知道實施會有多麼困難,以及遇到什麼障礙。您需要閱讀很多ember-simple-auth的源代碼,這是肯定的。

相關問題