diy一下devise的验证
为什么80%的码农都做不了架构师?>>>
devise-encryptable地址
https://github.com/plataformatec/devise-encryptable.git
1.在 Gemfile 中加入devise-encryptable
gem "devise-encryptable"
在devise的user/member model里加入 :encryptable:
class User < ActiveRecord::Base devise :database_authenticatable, :encryptableend
然后用migration添加一个password_salt:
class DeviseCreateUsers < ActiveRecord::Migration def change add_column :users, :password_salt, :string endend
2.添加自己的验证方式
在 /config/initializers/下创建md5.rb:
require 'digest/md5'module Devise module Encryptable module Encryptors class Md5 < Base def self.digest(password, stretches, salt, pepper) password = Digest::MD5.hexdigest password Digest::MD5.hexdigest(password + salt) end
def self.salt(stretches) (Digest::MD5.hexdigest (0...50).map { ('a'..'z').to_a[rand(26)] }.join)[0,32] end
end end endend
然后在相同目录下打开 devise.rb
加入:
config.encryptor = :md5
rails s使用devise注册登陆 就是你的验证方式了
转载于:https://my.oschina.net/imot/blog/414811
diy一下devise的验证相关推荐
- ruby on rails_最终的中级Ruby on Rails教程:让我们创建一个完整的应用程序!
ruby on rails 由Domantas G (By Domantas G) There are plenty tutorials online which show how to create ...
- braintree使用_使用Braintree v.zero SDK购买时间
braintree使用 This article was sponsored by Braintree. Thank you for supporting the sponsors who make ...
- ML之DT:基于简单回归问题训练决策树(DIY数据集+七种{1~7}深度的决策树{依次进行10交叉验证})
ML之DT:基于简单回归问题训练决策树(DIY数据集+七种{1~7}深度的决策树{依次进行10交叉验证}) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 for iDepth in ...
- ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK)
ML之分类预测之ElasticNet:利用ElasticNet回归对二分类数据集构建二分类器(DIY交叉验证+分类的两种度量PK) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 # ...
- rails使用devise验证
使用ruby on rails的好处之一就是有很多功能可以不用自己来实现,有很多开源的组件可以直接拿来用,达到项目的目的. 比如登陆安全验证,要让自己来写需要考虑很多: 1. session生命周期 ...
- Rails中的使用者验证:Devise
Rails中的使用者验证:Devise 概要:Devise是Ruby On Rails的一个三方权限认证组件,通过它可以无需编码快速生成一个带有登陆,注册.权限认证和重置密码的认证模块. 安装: 1. ...
- 基于Domoticz智能家居系统(十七)DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(三)一个简单MySensors客户端的验证实验
DIY一款基于MySensors的ESP8266+NRF24L01的MQTT(WIFI)和RF无线网关(三)一个简单MySensors客户端的验证实验 一个简单MySensors客户端的验证实验 一. ...
- 【已验证成功】【DIY小项目】基于CY7C68013A的逻辑分析仪
我做这个,主控花了19块(某宝),74HC245PW-Q100J当时某宝七毛一个,剩下的元件在立创买的,电阻电容大部分一块钱买50个,AT24C02买了10个三块一毛八,RT9013-33GB买了10 ...
- DIY强大的虚拟化环境-技术可行性部分
[技术可行性部分]大体的cpu支不支持呀,实际效果使用呀,截图 效果截图嵌套虚拟化[esxi,xenserver,Hyper-V] 嵌套虚拟化:经过各种查资料,和测试验证[只测过intel的,amd的 ...
最新文章
- Leaflet-Develop-Guide
- 新手探索NLP(五)
- C++去掉字符串首尾的特殊字符(比如空格)
- graph 关系图 设置
- springboot加入com.fasterxml.jackson.core-jackson-databind依赖后报错Error creating bean with name ‘requestM
- CSS基础(part12)--盒子模型之外边距
- 226. Invert Binary Tree 1
- mac怎么查看gitlab的注册邮箱_163电子邮箱怎么注册申请?手机号注册电子邮箱的小技巧...
- Matlab自定义函数的五种方法
- tomcat8w.exe起到问题
- Rainbond 5.1.3 发布,快速部署和运维 Spring Cloud 集群
- 解决asp.net中使用FckEditor上传文件,中文名称乱码的问题
- linux tomcat配置https
- 数据结构与算法分析,哪本数据结构教材比较合适
- Snipaste 截图工具
- 用计算机怎么算异分母加减法,怎么正确算异分母分数加减法
- 沪江手操:让你的双手更灵活,手部锻炼五法
- Aqara首次发布会三大预测 全屋智能生活体验再次升级
- android span 下划线,Android TextView实现部分文字(超链接/Span)点击事件、变色、去除下划线...
- 关于合成大西瓜的随笔
热门文章
- C/C++语言宏定义##连接符和符#的使用
- flutter web:lottie jssdk报错处理
- django ORM相关的那些操作汇总
- 怎样让你的安卓手机瞬间变Firefox os 畅玩firefox os 应用
- Spring MVC 学习笔记 json格式的输入和输出
- CentOS6.3的Grub启动项的menu.lst文件内容
- 探秘Java中的String、StringBuilder以及StringBuffer
- Eclipse创建JavaWeb工程
- linux查看文件的编码格式的方法 set fileencoding
- 【笔记】css 自定义select 元素的箭头样式