[英]Ember Simple Auth with Multiple Devise Scopes
我有以下場景:
在路由器上的ember app上創建:
Router.map(function() { this.route('panel', function() { this.route('login'); this.route('logout'); }); this.route('admin', function() { this.route('login'); this.route('logout'); }); });
我的應用程序是Ember 2.0后,我正在使用jj-abrams
分支
兩者都在/users/sign_in
和/admins/sign_in
上進行身份驗證
我按照https://github.com/simplabs/ember-simple-auth/tree/master/packages/ember-simple-auth-devise#server-side-setup上的步驟操作,驗證工作正常。
在創建身份驗證器和適配器之后,Ember正在訪問正確的URL,但問題是ESA只有一個會話服務。 一旦用戶或管理員登錄session.isAuthenticated
為true,我不知道登錄的是哪個范圍。
哪種方式最好:
role
並在會話上設置 我解決了這個問題,為每個范圍創建3個身份驗證器,我處理每個范圍。
一旦我不使用其他驗證器(OAuth2),這是一個特殊的解決方案,但現在我可以檢查authenticator:user
, authenticator:admin
, authenticator:manager
已用於登錄。
我已經創建了路由檢查,因此用戶只能訪問他的面板,管理員可以訪問用戶和管理面板,管理員可以訪問整個系統。
我在github上發布了ember和API:
ps:我認為最好為每個范圍創建會話,但我不知道如何做(如果它更好或沒有),在這個解決方案中你可以一次登錄一個范圍(不像你在軌道上設計)可以一次登錄多個范圍)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.