When a user accesses the system to either submit a new case, or if they are an ActiveCasesUser/Reporter it would be helpful to restrict which products are available based on roles. Here are a few use-cases:
Customer A has purchased Product A, but not Product B. When they purchased Product A they were assigned to the 'Product A Customer' role with an expiry date of 1 year. As long as the 'Product A Customer' role is valid, only Product A should appear as an available product.
The tech pubs writer of Product A has nothing to do with Product B. She should be limited to generating reports of Product A based on her roles as "Product A Users" and "Product A Reporters".
--Craig