login_generator
CREATE TABLE users (
`id` int(11) NOT NULL auto_increment,
`login` varchar(80) default NULL,
`password` varchar(40) default NULL,
PRIMARY KEY (`id`)
) ;
generate login Account
application.rb
require 'login_system'
#登录模块
include LoginSystem
model :user
blog_controller.rb
#不需要登录的
before_filter :login_required, :except => [ :index,:list,:show]
contest:
http://rails.drecom.jp/
http://apiblog.kakaku.com/
change_passworld.rhtml:
<%= start_form_tag :controller => "account", :action => "change_password" %>
<div title="password alteration" id="password alteration" class="form">
<label for="user_old_pass">Old password:</label><br/>
<input name="old_password" id="old_password" tabindex="2" type="password" /><br/>
<label for="user_new_pass">New password:</label><br/>
<input name="new_password" id="new_password" tabindex="2" type="password" /><br/>
<label for="user_new_pass_confirmation">Confirm password:</label><br/>
<input name="new_password_confirmation" id="new_password_confirmation" tabindex="2" type="password" /><br/>
<input type="submit" value="Alter password" class="primary" />
</div>
<%= end_form_tag %>
account_controller.rb:
def change_password
@user = @session['user']
@session['message'] = nil
case @request.method
when :post
unless @user.password_check?(@params['old_password'])
@session['message'] = '请重新输入旧密码'
else
unless @params['new_password'] == @params['new_password_confirmation']
@session['message'] = '两次输入的新密码不一致'
else
@session['message'] = '已经成功修改了您的密码' if @user.change_password(@params['new_password'])
end
end
redirect_back_or_default :action => "welcome"
end
end