随机生成密码 Rails 3.1

2024-04-09

为了开发一个新的网络应用程序,我的注册页面(仅限管理员)只需要一个电子邮件字段。

问题是我对 Rails 完全陌生,所以即使是像这样的基础知识对我来说也非常困难......

我使用 Railscast #270 创建了我的身份验证,它使用有安全密码方法。 现在,一切都很好,除了我不需要这些废话...... 我还想使用 Action Mailer 将生成的密码发送到他的电子邮件地址。 十六进制(8)密码将是完美的(我见过安全随机但好像已经贬值了)

用户控制器:

class UsersController < ApplicationController
  skip_before_filter :is_connected?, :only => [:new, :create]

  def new
    @user = User.new
  end

  def create
    @user = User.new(params[:user])
    if @user.save
      # Tell the Mailer to send a welcome Email after save
      Mailer.confirm_email(@user).deliver

      redirect_to root_url, :notice => "Signed up!"
    else
      render "new"
    end
  end
end

用户型号:

class User < ActiveRecord::Base
  attr_accessible :email
  has_secure_password
  validates_presence_of :password, :email, :on => :create
end

目前,在我看来,我有两个领域。但正如我之前所说,我只想要一个。 我想继续使用 has_secure_password ,它似乎提供了关于哈希/盐的相当好的安全性。


Rails 提供ActiveSupport::SecureRandom其中(取决于 Ruby 版本)只是通往 Ruby 的桥梁SecureRandom或者在旧版本的 Ruby 上重新实现它(如果我没记错的话)SecureRandom1.8.7 中添加)

现在 Rails 支持的所有 Ruby 版本都有SecureRandom内置ActiveSupport::SecureRandom不再需要并且已被弃用。SecureRandom它本身无处可去-

require 'securerandom'
SecureRandom.hex(8)

应该做得很好(你可能想考虑SecureRandom.urlsafe_base64为了更紧凑地表示相同数量的实际随机性)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

随机生成密码 Rails 3.1 的相关文章

随机推荐

  • 在 Python 中打印进度条处理

    我编写了这个简单的函数 processing flush 以便打印一系列点 由索引给出 来测试我的软件是否正在处理我的数据以及最终的速度 我的数据的总大小未知 import sys import time def processing fl
  • Jackson JSON - 解组时出现“无单字符串构造函数/工厂方法”错误

    最简单的情况给我带来了问题 我第一次遇到这种情况 我能够解组稍微复杂一点的 json 但是这个简单的失败了 是什么导致了这种情况 为什么杰克逊只用一根弦就遇到麻烦 一个简单的类 保存用户角色的名称 public class UpdateUs
  • javascript排序数组双重排序

    我有一个数组MyArrayOfItems of Item具有如下所示对象的对象 Item ContainerID i int ContainerName SomeName string ItemID j int ItemName SomeO
  • 程序或函数!!!指定的参数太多

    我正在 SQL Server 2008 中开发我的第一个存储过程 需要有关错误消息的建议 过程或函数 xxx 指定了太多参数 执行存储过程后得到的 dbo M UPDATES 调用另一个名为的存储过程etl M Update Promo 打
  • 减少负载后 Kubernetes HPA 不会缩小规模

    当 pod 负载增加时 Kubernetes HPA 可以正常工作 但负载减少后 部署规模不会改变 这是我的 HPA 文件 apiVersion autoscaling v2beta2 kind HorizontalPodAutoscale
  • React Typescript Material-UI useStyles 不可调用

    由于某种原因 我无法调用 useStyles 因为它会出错 This expression is not callable Type never has no call signatures ts 2349 const useStyles
  • 工具栏后退单击在 Xamarin android 中不起作用

    我创建了带有后退箭头的工具栏 单击不起作用 toolbar FindViewById
  • 是否可以在 Access 2010 中创建视图?

    正如标题所说 能做到吗 我在 MSDN 页面上读到 这不受支持 但我的作业请求如何支持 可以吗 怎样才能做到呢 视图只不过是保存的 SQL SELECT 语句 这就是 Access 中保存的查询 当然 您也可以保存 DML SQL 语句 在
  • session.clear() 在 Hibernate 中如何工作

    我参考了很多文章 但我仍然不清楚什么session clear在休眠状态下执行 据我目前了解到的情况来看 当我们使用批量保存 更新时如下图 Session session SessionFactory openSession Transac
  • 由此可以得出 lambda 表达式吗?

    I know from f in list where f bar someVar select f 可以写成 list Where f gt f bar someVar 是否可以创建类似的表达式 from f in foo from b
  • 对对象列表进行排序的最简单方法

    我有一个 A 类型的对象列表 在第一次迭代中 我为每个对象分配一个双精度值 0 目前 我使用一个包装类来存储对象及其 x 值来制作可比较的列表 Scala 是否提供了一种数据类型 允许我执行以下操作 var result new Sorte
  • 附加到条形码应用程序中多个按钮的侦听器中出现异常

    好的 我正在开发一款内部条形码扫描仪 供我的公司在移动计算机和设备时使用 经过一番尝试和错误后 我目前几乎已经通过 Intent 设置了 Zxing 条码扫描仪 这就是我正在尝试做的事情 旁边三个EditText我有三个领域ImageBut
  • android AsyncTask xml解析

    我尝试在 AsyncTask 中解析一个大的 xml 文档 FeinstaubActivity 启动 但我只看到黑屏 然后返回到 RSSReaderActivity 从我启动另一个 Activity 的地方开始 Log DEBUG Sntp
  • 如何在gradle java构建脚本中访问环境变量

    如何在 gradle java 构建脚本中访问环境变量 用户级别或系统级别 我是 gradle 新手 我正在尝试使用 gradle 构建我的项目 目前我已经硬编码了第三方 jar 的路径 如下面的脚本所示 repositories flat
  • 首先在子级的父级上关闭alertDialog Android removeView()

    我想关闭 关闭警报对话框 但是当我单击按钮时valider我遇到了这个错误 我不知道哪些视图给我带来了问题 即使我的视图中没有方法删除视图 layout or v java lang IllegalStateException The sp
  • Imagick PHP 扩展 -- Montage 有帮助吗?

    我在使用 Imagick PHP 扩展生成图像时遇到了一些问题 一切工作正常 除了我的以下 蒙太奇 有白色背景 因此我不能将其覆盖在其他东西之上 如何生成具有透明背景的蒙太奇 Montage Icons gt montageImage ne
  • 如何在多租户系统中的 RabbitMQ 中使队列私有/安全?

    我已阅读开始使用 http www rabbitmq com getstarted htmlRabbitMQ 提供的指南 甚至还贡献了第六个示例暴风雨 amqp https github com paolo losi stormed amq
  • 如何计算不在列表中的日期

    我有一个位于客户的两个日期 date1 date2 之间的数据框以及到达日期 date1 lt 2019 07 29 date2 lt 2019 08 08 clients lt data frame id c 1 10 arrive c
  • 在 Python 中使用多个列表的 For 循环[重复]

    这个问题在这里已经有答案了 我正在寻找解决我的问题的方法 目前我有两个元素列表 column width 3 3 6 8 4 4 4 4 fade 100 200 300 我想要实现的是创建 for 循环 它将给出以下输出 column 3
  • 随机生成密码 Rails 3.1

    为了开发一个新的网络应用程序 我的注册页面 仅限管理员 只需要一个电子邮件字段 问题是我对 Rails 完全陌生 所以即使是像这样的基础知识对我来说也非常困难 我使用 Railscast 270 创建了我的身份验证 它使用有安全密码方法 现