Solved

unknown error "store referer" rails, restful_authentication

Posted on 2010-08-13
1
663 Views
Last Modified: 2013-11-13
i am often seeing this error in my exception notification inbox. What is happening andd why is the user not seeing a nice flash error notification?

A NameError occurred in users#new:

 undefined local variable or method `store_referer' for #<UsersController:0xb69d33f0>
 [RAILS_ROOT]/lib/authenticated_system.rb:101:in `permission_denied'


def permission_denied      
       respond_to do |format|
         format.html do
           #Put your domain name here ex. http://www.example.com
           domain_name = "http://www.ndthub.com"
           http_referer = session[:refer_to]
           if http_referer.nil?
             store_referer
             http_referer = ( session[:refer_to] || domain_name )
           end
           flash[:error] = "You don't have permission to complete that action."
           #The [0..20] represents the 21 characters in http://localhost:3000
           #You have to set that to the number of characters in your domain name
           if http_referer[0..20] != domain_name  
            session[:refer_to] = nil
           redirect_to root_path
           else
             redirect_to_referer_or_default(root_path)  
           end
         end
         format.xml do
           headers["Status"]           = "Unauthorized"
           headers["WWW-Authenticate"] = %(Basic realm="Web Password")
           render :text => "You don't have permission to complete this action.", :status => '401 Unauthorized'
         end
       end
     end

Open in new window

0
Comment
Question by:depassion
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 14

Accepted Solution

by:
wesgarrison earned 500 total points
ID: 33437376
Looks like you need a method for store_referer() since it can't find it.

The point of that is that someone goes to /admin/dashboard and isn't logged in, you would store that and redirect them to the login page.  If they logged in successfully, they would be redirected to where they were trying to go.

If you don't need that functionality, just redirect them to the root_path and get rid of everything else in that action.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Ruby, Call or invoke a API DLL library is easily via Win32API class, win32-api gem or other gems. For general DLL API call, there are quite a few references, some good tips list below: http://www.rubytips.org/2008/05/13/accessing-windows-api-fro…
Recently I spent hours debugging an issue in a Rails project where ActiveRecord was causing MySQL errors trying to create a User object of a class at the top level of a Single Table Inheritance model structure.  It turns out `.create` behaves differ…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question