discourse/lib/current_user.rb

41 lines
887 B
Ruby
Raw Normal View History

2013-02-05 14:16:51 -05:00
module CurrentUser
def self.has_auth_cookie?(env)
Discourse.current_user_provider.new(env).has_auth_cookie?
end
2013-02-15 03:23:40 -05:00
def self.lookup_from_env(env)
Discourse.current_user_provider.new(env).current_user
end
# can be used to pretend current user does no exist, for CSRF attacks
def clear_current_user
@current_user_provider = Discourse.current_user_provider.new({})
end
def log_on_user(user)
current_user_provider.log_on_user(user,session,cookies)
end
def log_off_user
current_user_provider.log_off_user(session,cookies)
2013-02-15 03:23:40 -05:00
end
def is_api?
current_user_provider.is_api?
end
2013-02-05 14:16:51 -05:00
def current_user
c = current_user_provider.current_user
ScreenedIpAddress.block_login?(c, request.remote_ip) ? nil : c
end
2013-03-25 21:04:28 -04:00
private
2013-03-25 21:04:28 -04:00
def current_user_provider
@current_user_provider ||= Discourse.current_user_provider.new(request.env)
2013-02-05 14:16:51 -05:00
end
end