2006年11月01日 00:27
Railsでログイン認証
Railsのデータベースサイトの管理者用ページにパスワードとIDによる認証を追加しよう!!
参考サイトNowhere Near様
1 Login Generatorのインストール
$ sudo /opt/local/bin/gem install login_generator
2 generateコマンドの実行
$ /opt/local/bin/ruby script/generate login Account
3 app/controllers/application.rbの編集
<in application.rb>
require_dependency "login_system"
class ApplicationController < ActionController::Base
include LoginSystem
model :user
end
赤字部分が追加した部分。
4 DataBaseの作成<MySQL>
作成したデータベースの構造
CREATE TABLE users (
id int(11) NOT NULL auto_increment,
login varchar(80) default NULL,
password varchar(40) default NULL,
PRIMARY KEY (id)
);
"id"、"login"、"password"の名前は変更できないみたい・・。
5 サインインしてみる
http://your.rails.app/account/signup (your.rails.appは各々の環境によって異なる)
6 認証付きページの表示
$ /opt/local/bin/ruby script/generate controller test index
今回はtestというコントローラーで、認証しなければ見れないindexページを作成する
7 app/controllers/test_controller.rbの編集
class TestController < ApplicationController
before_filter :login_required
def index
end
end
8 app/views/test/index.rhtmlの編集
<h1>Test#index</h1>
<p>Welcom <%= @session['user'].login %>!</p>
これで、http://your.rails.app/test のページはloginしなければ表示されない状態になっている。
この間(1〜8まで)、わずか5分! 凄いよrailsさん!
コメント一覧

