Require WordPress Login only for posts, not pages?

Solution:

add it to your single.php

<?php auth_redirect(); ?>

This function will check if the user is logged in and if he is not it will redirect him to the login pageĀ http://codex.wordpress.org/Function_Reference/auth_redirect