Show teasers to anonymous visitors but not allow access to the body/node
One way to do this is to use Panels.  Override the front page and the default node template; create two variants for each, one for anonymous and one for authenticated users (using selection rules).

Then, for the front page for anonymous users, only use teasers and remove the links to the full content.  For the anonymous node template, limit everything to teasers.

For authenticated users, enable everything just as you'd like them to see it.

Note: this is not a full tutorial on Panels, but should hopefully provide some hints to get you started.


Keep in mind that doing this will cut the search engines off from your non-teaser content as per Clive's comment.