The problem can be due :
If your website is recently migrated : Then There must be problem with your mysql database . Try checking your "users" table in the database and see if the anonymous user uid is SET to 0, if not then make it 0 .
SSL problem like you are using secure-pages etc module.. You can try setting the $base_url variable in your settings.php file.
You can try re-importing the database or you can import it to your local machine to check if its working there or not.
Hope this helps.