Module used to redirect pages to SSL
Looks like this is currently the canonical answer: 

Use Secure Pages


  This module makes sure that the user is running on a secure page when
  they create or edit content, view user details, or administer the
  site.


The other part of my question regarding redirecting assets on a page to a secure connection has actually be integrated into drupal core. It was previously a contrib module: http://drupal.org/project/securepages_prevent_hijack


  #D7CX: This functionality is in Drupal 7 core so this module will not be ported. Please stay tuned for the securepages port.
  
  This is an add-on to the Secure Pages module that will prevent
  hijacked sessions from accessing SSL pages, yet still allow users to
  stay logged in when browsing non-SSL pages.


Drupalscout looks to have a great site recipe on working with SSL's as well: 


  The Secure Pages module is a relatively old module and quite popular.
  It's goal is to only make certain pages of the site use HTTPS by using
  two lists of urls which should either by HTTPS or not. The benefit of
  this module is that you can use regular old HTTP for most of the site
  and only encrypt the traffic where you really need it. By default it
  will encrypt traffic for adding content, editing content, anything
  related to users, and for the admin area.
  
  SSL processing is taxing on a server. Using SSL on just the most
  important pages helps make sure that the data sent back and forth on
  those pages is encrypted. However, the session cookie is still
  unencrypted so a user who authenticates over HTTPS and then visits a
  non secure page sends their sesssion identifier in the clear which
  allows for an attacker to steal their session and login to the site
  which gives them the access to the very data that was supposed to be
  protected. This is largely "security theater" but it sure makes people
  feel good.
  
  Pro: Reduces load on server compared to a full SSL solution while
  encrypting important data transmission. Con: Doesn't protect against
  session hijacking so data can still be compromised.