Author User Access Control (UAC)
The idea for this module was hatched here: https://drupal.org/node/674002
This modules ties author user roles to content, so that the content tied to that role is only publicly accessible if the author of that content has the specified role.
User subscribes, get's subscriber role. The subscriber role is tied to 'company listing' content. The subscriber posts company listings and later cancels his subscription which removes his subscriber role. This module makes that content no longer visible.
This module should work with other permissions and UAC modules as it uses the nodeapi() hook to enforce permissions.
You would still rely on views to filter out content based on the author's roles or lack their of.
I don't exactly know what to do with node teasers. Right now I override the output which is a cheap way of making it not visible. I could alternatively use some other method to hide teasers in the future.
This project is sponsored by Mediacurrent.