1 | class <%= 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 |
---|
43 | end |
---|