运行环境: rails 4.2.1
ruby 2.0.0p481
mysql(支持多种数据库)
在实际的项目中,需要注意对用户隐私的保护,这往往需要对用户的密码进行加密,下面是对其中一种密码加密库使用的介绍
1. 在Gemfile中引入gem包'bcrypt-ruby '指定版本号,我使用的版本是3.1.5
gem 'bcrypt-ruby', '~> 3.1.5'
2.运行bundle install ,安装gem
3.modle 里原来的password(如果是已经建立了该字段)需要把对应的字段改为password_digest
def change rename_column :users, :password, :password_digest end
4.在modle里的user.rb里加入has_secure_password
class User < ActiveRecord::Base validates :name, :presence => {:message => '用户不能为空'},:uniqueness =>{:message => '用户名已存在!'} validates :phone, :presence => {:message =>'电话不能为空'} has_secure_password end
5.在controller里的创建新的modle 是注意传入两个字段password,password_confirmation,在创建modle时会自动将加密后的密码保存到password_digest字段上
@user = User.new(user_message) def user_message params.permit(:name, :password, :password_confirmation, :phone) end
6.保存成功后,登录验证时authenticate 方法验证密码是否正确返回boolean值
if @user.authenticate(params[:password]) return render :json => check_user_type(@user) end
相关推荐
### Ruby on Rails企业应用开发详解 #### 一、引言 《Ruby on Rails Enterprise Application Development》这本书由Elliot Smith和Rob Nichols共同编写,由Packt Publishing出版。该书旨在为读者提供一个完整的...
Ruby on Rails 是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,用于快速开发高效、优雅的web应用程序。Redmine则是一个用Ruby on Rails构建的项目管理软件,提供了任务跟踪、...
### Ruby on Rails 教程知识点概述 #### 一、引言 《Ruby on Rails 教程》是一本全面深入介绍Ruby on Rails框架的书籍。它不仅涵盖了Rails的基础知识,还深入探讨了高级技术和最佳实践,是众多开发者推荐的学习资源...
在这个案例中,“login_engine”可能是包含了用户登录所需的所有组件,如会话管理、密码加密、以及可能的注册、忘记密码等功能。 登录插件一般会包含以下几个关键部分: 1. **模型(Model)**:这部分可能包含`...
用户模型通常会包含确认令牌、加密密码等相关字段。 4. **数据库和ActiveRecord**: Rails使用ActiveRecord作为ORM,它使得Ruby类可以直接与数据库表进行交互。在这个项目中,`User`和`Image`模型可能会与数据库中...
7. **安全问题**: CSRF(跨站请求伪造)和XSS(跨站脚本攻击)防护,以及密码加密和用户认证都是开发过程中需要注意的安全问题。 总之,Ruby on Rails虽然强大且高效,但学习曲线相对陡峭。开发者需要不断学习和...
Ruby-Lockbox是一款针对Ruby和Rails应用的安全库,主要用于实现文件和数据的加密。它提供了简单易用的接口,让开发者能够轻松地在应用程序中集成高级加密标准(AES)和其他密码学算法,确保敏感信息的安全性。 Ruby...
### Addison.Wesley.RailsSpace:使用Ruby on Rails构建社交网络网站 #### 一、引言 《RailsSpace:使用Ruby on Rails构建社交网络网站》是一本由Michael Hartl和Aurelius Prochazka共同撰写的书籍。本书旨在通过...
如 `auth_source_id` 用于标识用户认证来源,`hashed_password` 存储经过哈希处理的密码,`last_login_on` 记录用户最后登录时间,`status` 代表用户状态(如活动、禁用等),`salt` 用于密码加密,以及两因素认证...
### Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统的知识点 #### 一、基础知识与背景介绍 **Redmine** 是一个基于 Web 的项目管理和跟踪工具,它使用 Ruby on Rails(简称 ROR)框架构建而成。Redmine 的设计初衷...
《构建你自己的Ruby on Rails Web应用》一书由Patrick Lenz撰写,于2007年出版,由SitePoint Pty Ltd.发行。本书是针对希望使用Ruby on Rails框架开发Web应用的初学者和中级开发者的一份详尽指南。以下是根据书籍...
《Pro ActiveRecord:Databases with Ruby and Rails》这本书深入探讨了如何使用ActiveRecord这一对象关系映射(Object Relational Mapping, ORM)工具来管理和操作数据库,特别是在Ruby on Rails框架中的应用。...
- **has_secure_password**:Rails中的一个特性,用于处理用户密码的加密存储以及验证逻辑。 - **bcrypt**:一种安全的密码哈希算法,被广泛应用于密码存储中,以提高安全性。 #### 三、准备工作 在开始构建用户...
Ruby on Rails(简称Rails)是基于Ruby构建的一个开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,使得开发过程高效且易于维护。 在开始搭建Ruby和Rails的开发环境之前,你需要确保你的系统满足必要的...
这是Ruby on Rails的口号。 它基于一个应用程序,用于根据与家人/朋友的目标创建不同的组并将活动添加到这些组中。 项目的实时版本: 技能专长 Ruby Ruby on Rails 引导程序4 骗子 加密 will_paginate 鲁比...
Ruby on Rails产品组合应用程序 这是我的投资组合中的Ruby on Rails 5应用程序。 特征 实时聊天引擎发表评论 博客 文件夹 拖放界面 技术领域 Ruby on Rails Java脚本 引导程序 动作电缆宝石 适用于照片存储的AWS S3...
### Ruby on Rails基础知识详解 #### 一、简介 在IT领域,Ruby on Rails(简称RoR或Rails)是一种流行的Web应用程序开发框架,基于Ruby语言。它遵循MVC(模型-视图-控制器)架构模式,使得开发高效且结构化。本篇文章旨在...
《Security On Rails》一书是针对Ruby on Rails开发者在构建应用时所面临的各种安全问题的全面指南。本书不仅深入探讨了常见的安全漏洞,还详细解释了如何利用Ruby on Rails框架来增强应用程序的安全性,使开发者...