# Redirect if session is nil

**URL:** <https://www.ruby-forum.com/t/redirect-if-session-is-nil/62774>\
**Category:** Rails\
**Created:** [June 8, 2006, 12:04am UTC](https://www.ruby-forum.com/t/redirect-if-session-is-nil/62774 "2006-06-08T00:04:19Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jasbur](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@jasbur](https://www.ruby-forum.com/u/jasbur)\
**Post date:** [June 8, 2006, 12:04am UTC](https://www.ruby-forum.com/t/redirect-if-session-is-nil/62774/1 "2006-06-08T00:04:19Z")

</div>

How exactly do i redirect a user if they’re not logged in?

I have a cookie being written to the @session variable on login and I  
can pull info from it. For instance “@session[‘user’].login” pulls their  
username just fine. But if they type in the url of the “welcome” page  
without logging in I get “You have a nil object when you didn’t expect  
it!” which I would expect.

Instead of this nasty error message, how would I redirect them to the  
login page?

---

<div class="post-metadata">

**Author:** ![jasbur](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@jasbur](https://www.ruby-forum.com/u/jasbur)\
**Post date:** [June 8, 2006, 12:10am UTC](https://www.ruby-forum.com/t/redirect-if-session-is-nil/62774/2 "2006-06-08T00:10:56Z")

</div>

Probably something like

if session[‘user’].nil?  
redirect\_to whatever  
end

You would probably want to make this into a filter, too

---

<div class="post-metadata">

**Author:** ![jasbur](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/ce7236/32.png) [@jasbur](https://www.ruby-forum.com/u/jasbur)\
**Post date:** [June 8, 2006, 12:19am UTC](https://www.ruby-forum.com/t/redirect-if-session-is-nil/62774/3 "2006-06-08T00:19:21Z")

</div>

It worked! It’s too simple I think that’s the problem. It’s amazing what  
5 hours of coding will do to the hum brain. Thanks.
