Ruby on rails 使用Desive的两层登录(亚马逊风格)
让我们假设我有以下的场景Ruby on rails 使用Desive的两层登录(亚马逊风格),ruby-on-rails,security,authentication,devise,Ruby On Rails,Security,Authentication,Devise,让我们假设我有以下的场景 用户收到一封电子邮件,表示有一个新项目正在等待她 单击链接,可以确认或拒绝项目(跳过详细信息) 然后可以访问她所有项目的列表 诀窍是,我希望允许所有这些在用户未登录的情况下发生,但限制对网站其他部分的访问(如向其他用户发送项目) 我的看法是: 当用户单击链接时,她已登录,但仅在第1层-仅对确认/拒绝操作具有访问权限,对项目索引具有只读权限(此时将创建设计会话) 当用户想要访问网站的其他部分时,将显示登录页面 当用户只需输入urlhttp://example.com并希
- 当用户单击链接时,她已登录,但仅在第1层-仅对确认/拒绝操作具有访问权限,对项目索引具有只读权限(此时将创建设计会话)
- 当用户想要访问网站的其他部分时,将显示登录页面
- 当用户只需输入url
并希望访问要求她登录的自己的帐户http://example.com
- 登录后会话“升级”到允许完全访问的层
- 经过一段时间的不活动后,出于安全原因,会话降级到第1层
我也知道电子邮件中的链接存在安全问题。我认为您混淆了授权和身份验证。Desive是一种身份验证解决方案,这意味着它处理“证明你就是你所说的你”部分。授权是“好的,我知道你是谁,现在让我们看看你能做什么”。除了简单的“已记录/未记录”之外,Desive不提供授权系统。如果您需要更复杂的授权系统,请使用授权gem。CanCan非常受欢迎。我认为您混淆了授权和身份验证。Desive是一种身份验证解决方案,这意味着它处理“证明你就是你所说的你”部分。授权是“好的,我知道你是谁,现在让我们看看你能做什么”。除了简单的“已记录/未记录”之外,Desive不提供授权系统。如果您需要更复杂的授权系统,请使用授权gem。CanCan非常受欢迎。几个月前,我实施了一个非常类似的行为。我没有非常有趣的资源向您展示,但我可以解释一下您可以如何组织或思考要解决的问题 说明
- 访问受限(执行某些操作、读取大部分资源等)
- 完全访问(允许他们做任何他们通常会做的事情)
- 使用电子邮件令牌登录->受限访问
- 密码->完全访问
- 身份验证\u令牌->完全访问
- omniauth->完全访问
几个月前,我实施了一个非常类似的行为。我没有非常有趣的资源向您展示,但我可以解释一下您可以如何组织或思考要解决的问题 说明
- 访问受限(执行某些操作、读取大部分资源等)
- 完全访问(允许他们做任何他们通常会做的事情)
- 使用电子邮件令牌登录->受限访问
- 密码->完全访问
- 身份验证\u令牌->完全访问
- omniauth->完全访问