An architecture for allowing extensibility to policies. The architecture
has a policy component program that is able to evaluate and enforce
polices. The architecture also has plugin modules for allowing a user to
customize the polices. The policy component program is able to present
interfaces to the user for customizing the polices. The policy component
program is further able to integrate customized polices into a framework
of the policy component program in response to user input that is based
on the interfaces presented to the user. The presented interfaces may be
for defining subjects in the policy program, defining conditions in the
policy program, defining referrals in the policy program, defining
resource names in the policy program, and defining how conflicts will be
resolved in the policy program. The interfaces may be compliant with the
JAVA programming language.