# Resetting session of particular user

**URL:** <https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243>\
**Category:** Rails\
**Created:** [November 5, 2007, 11:48am UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243 "2007-11-05T11:48:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 5, 2007, 11:48am UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/1 "2007-11-05T11:48:18Z")

</div>

Actually I want to reset\_session of a particular user to make sure he is  
logged out on any other system he used before before logging on current  
one.

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 5, 2007, 6:17pm UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/2 "2007-11-05T18:17:32Z")

</div>

Vapor … wrote:

> Actually I want to reset\_session of a particular user to make sure he is  
> logged out on any other system he used before before logging on current  
> one.

So what is your question? Why not just use reset\_session?

jp

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 6, 2007, 2:57pm UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/3 "2007-11-06T14:57:16Z")

</div>

I am accomplishing this by storing the session\_id in the user model.  
When a user logs in I update the user model with the current  
session\_id. Then I have a before filter in the application.rb that  
checks that the session\_id stored in the user model matches the  
current session\_id. If it does not, the user gets logged out and a  
friendly error message telling them they logged in somewhere else.  
The current session id can be accessed with session.session\_id

On Nov 5, 2:38 pm, “Vapor …” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 6, 2007, 2:59pm UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/4 "2007-11-06T14:59:37Z")

</div>

Using reset\_session will only reset the session for the current client  
computer.

On Nov 5, 2:38 pm, “Vapor …” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 6, 2007, 3:04pm UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/5 "2007-11-06T15:04:54Z")

</div>

You can either reset\_session the moment someone reaches your login  
page or just after defining your login method reset the session but  
this will also clear any session which you might want to have before a  
user logs in ie the url user tried to access.

On Nov 5, 7:38 pm, “Vapor …” [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![vapor](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/v/5e9695/32.png) [@vapor](https://www.ruby-forum.com/u/vapor)\
**Post date:** [November 5, 2007, 8:38pm UTC](https://www.ruby-forum.com/t/resetting-session-of-particular-user/119243/6 "2007-11-05T20:38:59Z")

</div>

Jeff P. wrote:

> So what is your question? Why not just use reset\_session?
> 
> jp

the problem is that user can access website from many workstations. I  
want to make sure that before user logs in, his previous session on any  
workstation expires (like facebook).  
if I write reset\_session in login part of controller before  
User.authenticate, would it work? I am not quite sure because user has  
not logged in yet and there is no mentioning of which user it is going  
to reset session of.
