使用者認證

转自: [url]http://ihower.tw/rails3/auth.html[/url]

使用者認證

Quality, Speed or Cheap. Pick two. - Unknown
Authentication: 使用 Devise

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.rb和migration將confirmable功能打開

輸入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 %>
Authentication: 使用 Omniauth

Omniauth

Authentication: DIY

Authentication in Rails 3.1
Authentication: SSO

可以採用CAS標準,推薦以下的Sinatra實作:

rubycas-server
ClassyCAS
Authorization

cancan
declarative_authorization
更多 More
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值