Я видел общие сообщения о том, как отслеживать анонимных пользователей в приложении для голосования, например, с помощью файлов cookie. Но, в частности, как мне изменить restful_authentication
для отслеживания анонимных пользователей с IP + user-agent (хеш). Спасибо.
Как лучше всего отслеживать анонимного пользователя с помощью плагина restful_authentication в Rails?
Ответы (2)
Не думаю, что здесь поможет restful-authentication? Я думаю, вам нужно создать для этого свой собственный метод.
Почему вы также хотите связать IP и User-Agent? Достаточно ли одного IP-адреса?
person
Zach Inglis
schedule
16.07.2011
В итоге я создал метод login_from_anonymous
в lib/authenticated_system.rb
, как показано ниже. Этот метод называется методом current_user, который также показан ниже.
def login_from_anonymous
user = User.new({"new_profile_attributes"=>
{ "country_code"=>"", "zip"=>"", "first_name"=>"Anonymous",
"last_name"=>"User", "affiliation_id"=>"1"
},
"password" => "anonymous123",
"password_confirmation" => "anonymous123",
#"invitation_token" => "",
"invitation_limit" => 0,
"login" => "anonymous_#{Time.now.strftime("%m-%d-%y+%I:%M:%S%p")}",
"email" => "[email protected]",
"current_ip" => request.env['REMOTE_ADDR']})
user.send(:create_without_callbacks)
self.current_user = user
handle_remember_cookie! true # freshen cookie token (keeping date)
self.current_user
end
def current_user
@current_user ||= (login_from_session || login_from_basic_auth || login_from_cookie || login_from_anonymous) unless @current_user == false
end
person
Chirag Patel
schedule
20.07.2011