注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

世界的瞭望哨

认识自己 认识世界

 
 
 

日志

 
 

Zz Rails3中加入用户认证功能  

2012-12-10 22:14:56|  分类: Ruby |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
需求
通过安装Gem在Rails3工程中实现用户认证(Authentication)功能(注册,登陆,登出,密码修改,等等)

配置
Rails 3.2.9

实现
原文传送门 http://ihower.tw/rails3/auth.html

红字部分是我试验所用步骤,经确认靠谱好用

devise是一套使用者認證(Authentication)套件。

  • 編輯 Gemfile 加上

      gem 'devise'
  • 輸入bundle install安裝此套件

  • 輸入rails g devise:install產生devise設定檔

  • 編輯 config/environments/development.rb 和 production.rb 加入寄信時預設的網站網址:

      config.action_mailer.default_url_options = { :host => 'localhost:3000' }
  • 確認 app/views/layouts/application.html.erb layout 中可以顯示 flash 訊息,例如

      <p class="notice"><%= notice %></p>   <p class="alert"><%= alert %></p>
  • 確認 routes.rb 中有設定網站首頁位置,例如

      root :to => "welcome#index"
  • 輸入rails g devise user產生 User model 及 Migration

  • 如果需要E-mail驗證功能,可以編輯app/models/user.rbmigrationconfirmable功能打開

  • 輸入rails generate devise:views產生樣板,這會包括有註冊、登入、忘記密碼、Email等等頁面,放在app/views/devise目錄下。

  • 輸入bundle exec rake db:migrate建立資料表

用法

  • 在需要登入的 controller 加上before_filter :authenticate_user!

  • 可以在 Layout 中加上登入登出選單

       <% if current_user %>        <%= link_to('登出', destroy_user_session_path, :method => :delete) %> |      <%= link_to('修改密碼', edit_registration_path(:user)) %>    <% else %>       <%= link_to('註冊', new_registration_path(:user)) %> |         <%= link_to('登入', new_session_path(:user)) %>    <% end %>

  评论这张
 
阅读(348)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017