I tried with passing Id & cookies[token] of that user & was able to login 
to that users profile.
But I am unable to get back to the profile of the Admin user.

On Thursday, September 27, 2012 10:37:11 AM UTC+5:30, Walter Lee Davis 
wrote:
>
>
> On Sep 27, 2012, at 12:54 AM, Avi wrote: 
>
> > Hello, 
> > 
> > I am lil bit confused. 
> > Will this help on returning back to the admin user again? 
>
> The admin user never leaves or logs out, but because current_practice is 
> used for anything that the admin sees, the page gets re-loaded with all the 
> content relevant to that practice, not the admin's own account. It helps in 
> this case that admin is able to see everything. You could not do this trick 
> if that was not the case. 
>
> Walter 
>
> > 
> > On Thursday, September 27, 2012 9:54:20 AM UTC+5:30, Walter Lee Davis 
> wrote: 
> > On Sep 26, 2012, at 11:52 PM, Avi wrote: 
> > 
> > > Currently I am using CanCan. 
> > > Can you please explain a bit more on your solution? 
> > 
> > #users_controller.rb 
> >   before_filter :authenticate_impersonator!, :only => [:index, 
> :impersonate, :stop_impersonating] 
> > 
> >   def impersonate 
> >     session[:impersonating] = params[:practice_id] 
> >     redirect_to( '/calendar' ) 
> >   end 
> >   
> >   def stop_impersonating 
> >     session[:impersonating] = nil 
> >     redirect_to( '/users/index' ) 
> >   end 
> > 
> >   def authenticate_impersonator! 
> >     redirect_to(:root) unless (can? :impersonate, User) 
> >   end 
> > 
> > #application_controller.rb 
> >   helper_method :current_practice 
> >   def current_practice 
> >     if session[:impersonating] 
> >       Practice.find session[:impersonating] 
> >     else 
> >       current_user.practice 
> >     end 
> >   end 
> > 
> > #views/layouts/index.html.erb 
> > 
> > <%- if session[:impersonating] -%> 
> > <div id="impersonating"> 
> >         <p>Currently impersonating <strong><%= 
> > current_practice.name%></strong> <%= link_to "Stop Impersonating", 
> > "/users/stop_impersonating", 
> :class => "form_button delete" %></p> 
> > </div> 
> > <%- end -%> 
> > 
> > 
> > Everything in this solution centers around the current_practice helper, 
> which is where I used the session to side-step the current user and pretend 
> to be another. 
> > 
> > Walter 
> > 
> > > 
> > > On Wednesday, September 26, 2012 6:51:43 PM UTC+5:30, Walter Lee Davis 
> wrote: 
> > > 
> > > On Sep 26, 2012, at 4:58 AM, Avi wrote: 
> > > 
> > > > Hello, 
> > > > 
> > > > I have an interesting requirement. Don't know how to do it. 
> > > > I have an Admin, which can see a list of users. 
> > > > All the users will have a button (Login). 
> > > > The Admin can click on the Login button to to access the user's 
> account. 
> > > > If Admin does this he will be logged out of his account. But how to 
> access back his own account if he tries to come out of that user's account? 
> > > > 
> > > 
> > > What method are you using for authentication? I did something similar 
> in Devise, where I allowed the admin to impersonate another user. I hooked 
> into the current_user method and allowed an admin user to assume the 
> identity of another user without logging out. Since admins were allowed to 
> see everything anyway (in CanCan) I didn't need to do anything special 
> besides store the ID of the account I was impersonating in the session. 
> > > 
> > > Walter 
> > > 
> > > 
> > > -- 
> > > You received this message because you are subscribed to the Google 
> Groups "Ruby on Rails: Talk" group. 
> > > To post to this group, send email to rubyonra...@googlegroups.com. 
> > > To unsubscribe from this group, send email to 
> rubyonrails-ta...@googlegroups.com. 
> > > To view this discussion on the web visit 
> https://groups.google.com/d/msg/rubyonrails-talk/-/udMtXUaASAoJ. 
> > > For more options, visit https://groups.google.com/groups/opt_out. 
> > >   
> > >   
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups "Ruby on Rails: Talk" group. 
> > To post to this group, send email to 
> > rubyonra...@googlegroups.com<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> rubyonrails-ta...@googlegroups.com <javascript:>. 
> > To view this discussion on the web visit 
> https://groups.google.com/d/msg/rubyonrails-talk/-/WJ-3bA_74CsJ. 
> > For more options, visit https://groups.google.com/groups/opt_out. 
> >   
> >   
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-talk/-/Mmv1hH6gGGIJ.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to