[英]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.