root/vendor/acts_as_authenticated/generators/authenticated/templates/controller.rb

Revision 2, 1.7 kB (checked in by falcon, 17 years ago)

added plugins

  • Property svn:executable set to *
Line 
1class <%= controller_class_name %>Controller < ApplicationController
2  # Be sure to include AuthenticationSystem in Application Controller instead
3  include AuthenticatedSystem
4  # If you want "remember me" functionality, add this before_filter to Application Controller
5  before_filter :login_from_cookie
6
7  # say something nice, you goof!  something sweet.
8  def index
9    redirect_to(:action => 'signup') unless logged_in? || <%= class_name %>.count > 0
10  end
11
12  def login
13    return unless request.post?
14    self.current_<%= file_name %> = <%= class_name %>.authenticate(params[:login], params[:password])
15    if logged_in?
16      if params[:remember_me] == "1"
17        self.current_<%= file_name %>.remember_me
18        cookies[:auth_token] = { :value => self.current_<%= file_name %>.remember_token , :expires => self.current_<%= file_name %>.remember_token_expires_at }
19      end
20      redirect_back_or_default(:controller => '/<%= controller_file_name %>', :action => 'index')
21      flash[:notice] = "Logged in successfully"
22    end
23  end
24
25  def signup
26    @<%= file_name %> = <%= class_name %>.new(params[:<%= file_name %>])
27    return unless request.post?
28    @<%= file_name %>.save!
29    self.current_<%= file_name %> = @<%= file_name %>
30    redirect_back_or_default(:controller => '/<%= controller_file_name %>', :action => 'index')
31    flash[:notice] = "Thanks for signing up!"
32  rescue ActiveRecord::RecordInvalid
33    render :action => 'signup'
34  end
35 
36  def logout
37    self.current_<%= file_name %>.forget_me if logged_in?
38    cookies.delete :auth_token
39    reset_session
40    flash[:notice] = "You have been logged out."
41    redirect_back_or_default(:controller => '/<%= controller_file_name %>', :action => 'index')
42  end
43end
Note: See TracBrowser for help on using the browser.