32 lines
		
	
	
		
			932 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			932 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# This controller handles the login/logout function of the site.  
 | 
						|
class SessionsController < ApplicationController
 | 
						|
  # Be sure to include AuthenticationSystem in Application Controller instead
 | 
						|
  include AuthenticatedSystem
 | 
						|
 | 
						|
  # render new.rhtml
 | 
						|
  def new
 | 
						|
  end
 | 
						|
 | 
						|
  def create
 | 
						|
    self.current_user = User.authenticate(params[:login], params[:password])
 | 
						|
    if logged_in?
 | 
						|
      if params[:remember_me] == "1"
 | 
						|
        self.current_user.remember_me
 | 
						|
        cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
 | 
						|
      end
 | 
						|
      redirect_back_or_default('/')
 | 
						|
      flash[:notice] = "Logged in successfully"
 | 
						|
    else
 | 
						|
      render :action => 'new'
 | 
						|
    end
 | 
						|
  end
 | 
						|
 | 
						|
  def destroy
 | 
						|
    self.current_user.forget_me if logged_in?
 | 
						|
    cookies.delete :auth_token
 | 
						|
    reset_session
 | 
						|
    flash[:notice] = "You have been logged out."
 | 
						|
    redirect_back_or_default('/')
 | 
						|
  end
 | 
						|
end
 |