簡體   English   中英

具有多個設計范圍的Ember Simple Auth

[英]Ember Simple Auth with Multiple Devise Scopes

我有以下場景:

  1. 用戶和管理員的Rails應用程序設計模型,所以我有兩個范圍。
  2. 在路由器上的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'); }); }); 
  3. 我的應用程序是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,我不知道登錄的是哪個范圍。

哪種方式最好:

  1. 在用戶回復中添加role並在會話上設置
  2. 為admin用戶創建一個新會話

我解決了這個問題,為每個范圍創建3個身份驗證器,我處理每個范圍。

一旦我不使用其他驗證器(OAuth2),這是一個特殊的解決方案,但現在我可以檢查authenticator:userauthenticator:adminauthenticator:manager已用於登錄。

我已經創建了路由檢查,因此用戶只能訪問他的面板,管理員可以訪問用戶和管理面板,管理員可以訪問整個系統。

我在github上發布了ember和AP​​I:

ps:我認為最好為每個范圍創建會話,但我不知道如何做(如果它更好或沒有),在這個解決方案中你可以一次登錄一個范圍(不像你在軌道上設計)可以一次登錄多個范圍)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM