Have you ever encountered a scenario when you have content for which you are setting view permissions and you find you would love to require your users to have two of your existing roles to view it? By default Drupal will allow users with either of those two roles to view the content, and your only recourse is to find a module like Taxonomy Access Control to control your access from a separate location, or to create a 3rd role and require it to view the content (and then assign that 3rd role to untold numbers of users).
Access Join solves that problem! With either blocks or nodes (node usage requires the Content Access module) you can select a group of roles and with the flip of a radio selector change that content to require all the selected roles for access!
Access Join essentially allows the 'AND-ing' of roles together when setting which roles can view content. Drupal's default behavior is to use OR when looking up which roles have access to content. The module works for blocks and (with a very small core hack) nodes.
This type of functionality is available for nodes with Taxonomy Access Control (though that adds another location to manage permissions/roles/access), but it does not give this level of control for blocks. In addition, if you already use Content Access for setting per-node access control then this module will work very well with how your process is set up.
Currently the module is being re-written to break the node and block functionality apart into two modules in case a user needs one and not the other.
Node functionality requires the Content Access module.
**NOTE** This module does not just drop-in. It is very important that you read the README.TXT for installation details.