To accomplish this without any code written use the cart promotional rules
.
- Create a new Cart rule
- Apply to the Logged in customer group
- Under
actions
apply 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
Mage::getModel('customer/session')->isLoggedIn();
If logged in skip all shipping methods except free shipping if not logged in display the other methods.