ruby-on-rails – 使用用户名设计无需密码的身份验证

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 使用用户名设计无需密码的身份验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否可以设置 Devise进行身份验证而无需密码?

这是一个Intranet应用程序.为了连接它,你必须首先在VPN上,加上应用程序只允许查看订单的状态&历史,不提交任何信息.我想类似于Fedex或UPS跟踪网站,但允许用户查看整个帐户,增加了客户端从我们这里获得的VPN盒的安全性.

现在我仍然需要密码,但这是对项目的不可协商的要求.客户已经习惯了这种方案,并且不太精通计算机以快速适应变化 – 这意味着他们无法记住密码.

解决方法

不太优雅的解决方案(不需要修改Devise):使用对所有用户都相同的默认密码

使用before_validation回调将user.password和user.password_confirmation设置为默认值(例如密码).

使用rails generate devise:views生成Devise视图

修改登录表单以使用默认密码值添加隐藏密码字段.

正如我所说,不优雅,但它应该做的伎俩,而不需要挖掘Devise内部.

更优雅的解决方

在GitHub上开发Devise项目并根据您的需求调整https://github.com/plataformatec/devise/blob/master/lib/devise/strategies/database_authenticatable.rb

然后,您可以在Gemfile中指定fork.

猜你在找的Ruby相关文章