Add button to teaser on specific content type
I would check out Display Suite's custom fields capability. 

It allows you to create custom code "fields" that can be attached to nodes and other entities, and can be included in views. These fields can be, for example HTML code with tokens to create links that redirect user to the full node. 

These fields also have the capability of accepting php code, which would allow you to evaluate if the user is logged in and include logic to redirect to the appropriate place. Check out the tutorial for custom fields here: https://drupalize.me/videos/display-suite-fields?p=1141