Devise是基于Warden的Rails灵活的认证解决方案。它:
是基于机架的;
是一个基于Rails引擎的完整的MVC解决方案。
允许您同时登录多个模型;
基于模块化的概念:只使用你真正需要的东西。
它由10个模块组成:
数据库可验证:在数据库中散列并存储密码,以在登录时验证用户的真实性。验证可以通过POST请求或HTTP基本验证完成。
Omniauthable:添加OmniAuth(https://github.com/omniauth/omniauth)支持。
确认:发送带有确认指示的电子邮件,并验证登录过程中是否已经确认帐户。
可恢复:重置用户密码并发送重置指令。
可注册:通过注册过程处理注册用户,也允许他们编辑和销毁他们的帐户。
可记住:管理生成和清除用于从保存的cookie中记住用户的令牌。
可跟踪:跟踪登录次数,时间戳和IP地址。
Timeoutable(超时时间):在指定的时间段内没有活动的会话到期。
Validatable:提供电子邮件和密码的验证。它是可选的,可以自定义,所以你可以定义自己的验证。
可锁定:在指定次数的失败登录尝试后锁定一个帐户。可以通过电子邮件解锁或在指定的时间段后解锁。
信息Devise wiki
Devise Wiki有许多关于Devise的额外信息,包括许多“如何做”的文章和对最常见问题的解答。完成本自述文件后,请浏览Wiki:
https://github.com/plataformatec/devise/wiki
错误报告
如果您发现Devise存在问题,我们想知道这个问题。但是,我们要求您在提交错误报告之前请查看这些指南:
https://github.com/plataformatec/devise/wiki/Bug-reports
如果您发现安全相关的错误,请不要使用GitHub问题跟踪器。发送电子邮件至opensource@plataformatec.com.br。
StackOverflow和邮件列表
如果您有任何问题,意见或疑虑,请使用StackOverflow而不是GitHub问题跟踪器:
http://stackoverflow.com/questions/tagged/devise
已弃用的邮件列表仍可以阅读
https://groups.google.com/group/plataformatec-devise
RDocs
您可以在这里查看RDoc格式的Devise文档:
http://rubydoc.info/github/plataformatec/devise/master/frames
如果你需要在Rails的早期版本中使用Devise,那么在安装gem来访问旧文档后,你总是可以从命令行运行“gem server”。
示例应用程序
在GitHub上有一些示例应用程序,它们演示了不同版本的Rails的Devise的各种功能。你可以在这里查看它们:
https://github.com/plataformatec/devise/wiki/Example-Applications
扩展
我们的社区已经创建了许多扩展,增加了Devise包含的功能。您可以查看可用扩展名列表,并在此处添加自己的扩展名:
https://github.com/plataformatec/devise/wiki/Extensions
特约
我们希望你会考虑贡献Devise。请阅读此简要概述,了解有关如何开始的一些信息:
https://github.com/plataformatec/devise/wiki/Contributing
您通常会想要为您的更改编写测试。要运行测试套件,进入Devise的顶层目录并运行“bundle install”和“rake”。为了让测试通过,你需要在你的系统上运行一个MongoDB服务器(版本2.0或更新版本)。
从Rails开始?
如果您正在构建您的第一个Rails应用程序,我们建议您不要使用Devise。设计需要对Rails框架有一个很好的理解。在这种情况下,我们建议您从头开始一个简单的身份验证系统。今天,我们有三个资源可以帮助您开始:
Michael Hartl的在线书籍:https://http://www.railstutorial.org/book/modeling_users
Ryan Bates的Railscast:http: //railscasts.com/episodes/250-authentication-from-scratch
Codecademy的Ruby on Rails:身份验证和授权:http : //http://www.codecademy.com/en/learn/rails-auth
一旦你巩固了你对Rails和认证机制的理解,我们向你保证Devise将会非常愉快的工作。
入门
Devise 4.0与Rails 4.1一起工作。您可以将其添加到您的Gemfile中:
宝石'设计'
然后运行 bundle install
接下来,你需要运行生成器:
$ rails生成设置:安装
此时,控制台中会出现一些指令。在这些说明中,您需要在每个环境中设置Devise邮件程序的默认URL选项。以下是可能的配置config/environments/development.rb:
config.action_mailer.default_url_options = { host: ' localhost ',port: 3000 }
生成器将安装一个描述所有Devise配置选项的初始化程序。这是必要的,你看看吧。完成后,您可以使用生成器将Devise添加到任何模型中。
在下面的命令中,您将替换MODEL应用程序用户使用的类名(它经常User也可以Admin)。这将创建一个模型(如果不存在),并使用默认的Devise模块进行配置。生成器还将您的config/routes.rb文件配置为指向Devise控制器。
是基于机架的;
是一个基于Rails引擎的完整的MVC解决方案。
允许您同时登录多个模型;
基于模块化的概念:只使用你真正需要的东西。
它由10个模块组成:
数据库可验证:在数据库中散列并存储密码,以在登录时验证用户的真实性。验证可以通过POST请求或HTTP基本验证完成。
Omniauthable:添加OmniAuth(https://github.com/omniauth/omniauth)支持。
确认:发送带有确认指示的电子邮件,并验证登录过程中是否已经确认帐户。
可恢复:重置用户密码并发送重置指令。
可注册:通过注册过程处理注册用户,也允许他们编辑和销毁他们的帐户。
可记住:管理生成和清除用于从保存的cookie中记住用户的令牌。
可跟踪:跟踪登录次数,时间戳和IP地址。
Timeoutable(超时时间):在指定的时间段内没有活动的会话到期。
Validatable:提供电子邮件和密码的验证。它是可选的,可以自定义,所以你可以定义自己的验证。
可锁定:在指定次数的失败登录尝试后锁定一个帐户。可以通过电子邮件解锁或在指定的时间段后解锁。
信息Devise wiki
Devise Wiki有许多关于Devise的额外信息,包括许多“如何做”的文章和对最常见问题的解答。完成本自述文件后,请浏览Wiki:
https://github.com/plataformatec/devise/wiki
错误报告
如果您发现Devise存在问题,我们想知道这个问题。但是,我们要求您在提交错误报告之前请查看这些指南:
https://github.com/plataformatec/devise/wiki/Bug-reports
如果您发现安全相关的错误,请不要使用GitHub问题跟踪器。发送电子邮件至opensource@plataformatec.com.br。
StackOverflow和邮件列表
如果您有任何问题,意见或疑虑,请使用StackOverflow而不是GitHub问题跟踪器:
http://stackoverflow.com/questions/tagged/devise
已弃用的邮件列表仍可以阅读
https://groups.google.com/group/plataformatec-devise
RDocs
您可以在这里查看RDoc格式的Devise文档:
http://rubydoc.info/github/plataformatec/devise/master/frames
如果你需要在Rails的早期版本中使用Devise,那么在安装gem来访问旧文档后,你总是可以从命令行运行“gem server”。
示例应用程序
在GitHub上有一些示例应用程序,它们演示了不同版本的Rails的Devise的各种功能。你可以在这里查看它们:
https://github.com/plataformatec/devise/wiki/Example-Applications
扩展
我们的社区已经创建了许多扩展,增加了Devise包含的功能。您可以查看可用扩展名列表,并在此处添加自己的扩展名:
https://github.com/plataformatec/devise/wiki/Extensions
特约
我们希望你会考虑贡献Devise。请阅读此简要概述,了解有关如何开始的一些信息:
https://github.com/plataformatec/devise/wiki/Contributing
您通常会想要为您的更改编写测试。要运行测试套件,进入Devise的顶层目录并运行“bundle install”和“rake”。为了让测试通过,你需要在你的系统上运行一个MongoDB服务器(版本2.0或更新版本)。
从Rails开始?
如果您正在构建您的第一个Rails应用程序,我们建议您不要使用Devise。设计需要对Rails框架有一个很好的理解。在这种情况下,我们建议您从头开始一个简单的身份验证系统。今天,我们有三个资源可以帮助您开始:
Michael Hartl的在线书籍:https://http://www.railstutorial.org/book/modeling_users
Ryan Bates的Railscast:http: //railscasts.com/episodes/250-authentication-from-scratch
Codecademy的Ruby on Rails:身份验证和授权:http : //http://www.codecademy.com/en/learn/rails-auth
一旦你巩固了你对Rails和认证机制的理解,我们向你保证Devise将会非常愉快的工作。
入门
Devise 4.0与Rails 4.1一起工作。您可以将其添加到您的Gemfile中:
宝石'设计'
然后运行 bundle install
接下来,你需要运行生成器:
$ rails生成设置:安装
此时,控制台中会出现一些指令。在这些说明中,您需要在每个环境中设置Devise邮件程序的默认URL选项。以下是可能的配置config/environments/development.rb:
config.action_mailer.default_url_options = { host: ' localhost ',port: 3000 }
生成器将安装一个描述所有Devise配置选项的初始化程序。这是必要的,你看看吧。完成后,您可以使用生成器将Devise添加到任何模型中。
在下面的命令中,您将替换MODEL应用程序用户使用的类名(它经常User也可以Admin)。这将创建一个模型(如果不存在),并使用默认的Devise模块进行配置。生成器还将您的config/routes.rb文件配置为指向Devise控制器。