![](/img/trans.png)
[英]How to do RESTful deep linking when using multi-tenency with scopes and CanCan
[英]Will I regret using Devise for this? RoR, multiple user/admin layers, multi-tenency, fast user switching
我的问题
我应该为此应用程序使用Devise ,使用其他身份验证解决方案还是自己推出?
我在建什么
我正在构建一个应用程序,该应用程序将用作商店员工的信息亭,以便他们在工作时登录并记录实时信息。 我需要使用户交换和身份验证变得容易,因为共享亭时可能有多个员工同时工作。 (想想餐厅销售点(POS)信息亭-服务器走起来,输入四位数的PIN码,并且可以非常轻松快捷地下达订单等。)我还需要几个管理层,并且需要支持多个-tenency(我尚未决定如何执行此操作,但是我将使用多租户),因此我还将拥有一个多层的“ admin”层(对于商店经理,可能管理多个商店的总经理,以及像我这样的系统管理员)。
我预期的四个用户层的摘要
超级用户* -一个“管理员”,可以操纵应用程序中的数据,查看所有数据,运行报告(基本上是“上帝模式”)。
*所有管理员角色将使用标准用户名/电子邮件地址类型身份验证通过管理员登录页面登录。
我还计划进行设置,以便新总经理可以注册其公司以使用该应用程序并为其公司添加商店。 总经理和商店经理也将能够为其商店添加用户(雇员)。 (因此,员工不会自行注册-总经理/商店经理将创建并维护员工的帐户。)
新公司注册使用该应用程序的注册/身份验证故事
我现在所拥有的
现在,我已经设置了“商店员工”和“超级用户”角色-我使用这篇很棒的文章: 使用Devise for Admin Accounts进行设置 。 所以我真的很早-在这一点上几乎完全是概念上的。 如果我打算从最初使用Devise的决定中退缩,现在是时候了。 我已经构建了该应用程序的大部分基本功能,现在正在进行网页设计(外观)并致力于构建身份验证/注册层。 然后,我将添加多租户层。
我基本上是.Net开发人员,我只想分享我对多租户的想法。 我认为,在开始之前,您还应该花一些时间在应用程序的多租户方面。 像这样,考虑对应用程序的用户进行身份验证的情况。 由于用户将属于租户,因此有两种方法可以识别您的租户,
隐式:通过使用应用程序的URL。
明确地使用租户标识符,例如他在其工作的商店。
另外,当前,最优选的身份验证机制是拥有一种对您的应用程序用户进行身份验证的SSO
方法。 同样,您可以基于租户使这种身份验证模式成为可能。 我相信SaaS应用程序的成功基于它为租户提供的更细粒度的可配置性。 我希望这个想法不在ROR
,对您有所帮助。
最后我确实后悔了Devise,并删除了它。 我将其替换为“从头开始”的解决方案。 该线程是删除Devise的绝佳指南,我添加了一个答案,描述了我用来从头开始构建自己的身份验证的资源:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.