1. A computer program product embodied on a non-transitory computer readable medium for facilitating communication, comprising: at least one directory containing policy data for a plurality of network entities stored therein, including: storing first policy data of a first one of the network entities, the first one of the network entities including a user role and the first policy data including at least one user requirement, and storing second policy data of a second one of the network entities, the second one of the network entities including an application and the second policy data used for controlling access to the application; computer code for receiving a message from the user requesting access to the application; computer code for, in response to the receipt of the message, identifying the first policy data of the role and the second policy data of the application; computer code for merging the first policy data of the role and the second policy data of the application to produce a combined policy; computer code for evaluating the combined policy with respect to the received message; computer code for determining whether the message is associated with a policy violation, based on the evaluation of the combined policy; computer code for rejecting the message when the determination is that the message is associated with the policy violation; and computer code for transmitting the message when the determination is that the message is not associated with the policy violation.