To accomplish this without any code written use the
cart promotional rules.
- Create a new Cart rule
- Apply to the Logged in customer group
free shipping to
For shipment with matching items
You might need to tweak here and there to get the rule to apply but this should basically it.
If this doesn't work for you another quick option would be to make some sort of check in the
rontend/base/default/template/checkout/onepage/shipping_method/available.phtml while it's looping through the available options.
Enable free shipping in the backend and then check if the current user is logged in using
If logged in skip all shipping methods except free shipping if not logged in display the other methods.