2013-03-24 26 views
7

我剛剛開始研究Ember.js和SPA的。我在ASP.Net MVC/C#/ Razor中有一個背景。如何在ember.js應用程序中處理驗證

身份驗證如何工作?在常規網站中,我只使用Oauth提供程序,當它返回經過身份驗證的信息時,請創建表單身份驗證票證。

我還沒有找到任何好的內容/文章覆蓋auth ...特別是在ASP.Net。

我迫不及待地開始挖掘ember.js,但我知道這對我來說從一開始就很重要。

謝謝!

+1

你目前如何登錄非js?會員API? – 2013-03-24 13:27:04

+0

我開始從零開始學習框架的一個燼應用程序。來自asp.net mvc背景,我寧願在該平臺上使用ember。我以前的應用程序,我採用oauth身份驗證信息,並從中創建一個formsauth票據,基本上將它們登錄。 – Chaddeus 2013-03-24 13:55:12

+1

第一個建議是創建一個操作方法,您可以從JS調用oauth身份驗證。第二個建議,使用Web API。 – 2013-03-24 14:03:23

回答

4

一般來說,在大多數Web應用程序中,Ember應用程序中的身份驗證與auth沒有太大差別。如果會話尚未通過身份驗證,您可以使用會話Cookie來識別登錄到服務器上的用戶並顯示登錄UI。

在傳統的網絡應用程序中,檢查&潛在的重定向將發生在頁面請求上。在Ember應用程序中,您可以在API請求上執行此操作,通常從您的路由器發送,如果API響應指示用戶未登錄,則轉到顯示用戶用戶名/密碼錶單的登錄路由。如果您使用的是OAuth,它將是一個類似的模式,但允許用戶在該點啓動OAuth流程。

替代方法

其它圖案包括驗證身份驗證,當你第一次加載灰燼應用程序的index.html頁面,或重定向了灰燼應用到傳統的登錄頁面時,API報告,本次會議是沒有登錄。

注意

不管採用哪種方式,重要的是每個服務器API的驗證您的用戶進行身份驗證和授權是非常重要的。另外,要意識到,無論權限如何,您通常都會將所有JS代碼和Handlebars模板發送給所有用戶。這通常不是一個問題,因爲JS或模板中沒有敏感信息,但需要注意的事項。

更新:

我已成爲新的[torii][1]庫爲處理身份驗證,包括與第三方服務提供一些簡單的原語的粉絲。

+0

謝謝盧克,感謝徹底的回答。 – Chaddeus 2013-04-14 17:28:50

相關問題