In Drupal you can set permissions on content types.
With this module you can set permissions for every field. So it is possible to hide some fields unless the user is logged in. You can also give permissions to create or edit content.
In this example one has to be logged in to see the image field.