I would implement hook_node_access()
to allow anonymous user to see the nodes on the front page (use the function drupal_is_front_page()
):
function MYMODULE_node_access($node, $op, $account) {
if ($op == 'view' && drupal_is_front_page() && $account->uid == 0)
return NODE_ACCESS_ALLOW;
}
return NODE_ACCESS_IGNORE;
}