This document proposes a security framework for collaborative applications that uses role-based access control (RBAC). In the framework, roles are predefined in a hierarchy but users are not identified in advance. Users are dynamically assigned roles based on the values of their own attributes and the attributes of resources. Attribute constraints form partial orders that determine which actions users can perform on resources and which roles users are assigned. The framework has been implemented using semantic web technologies like OWL to model the domain and perform reasoning.