Home

liu yong

eXtensible Access Control Markup Language (XACML) Version 3.0

This project is to implement XACML 3.0 based java. It will not keep compatible with XACML 1.0 and 2.0 before Version 3.0 has been implemented completely.

Version 0.5 released. This version implements the XACML 3.0 specification (http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-cs-01-en.pdf).

Features:
(1) support all of functions.
(2) support all of combining algorithms.
(3) support all of policy/request elements.
(4) support all of data types.
(5) PEP support.
(6) add a config.properties to specify request, policy directory and an entry of the plicy list.
(7) Email Obligation is suppored by JavaMail and apache email.
(8) add junit tests for all of datatypes, functions.
(9) add junit tests for evaluatable elements.

TODO List before 1.0:
(1) implement Cache System using ehcache.
(2) add more junit tests.

How to do a given test
The default test is a request from request.xml, where an email has to send to invalidate b.simpson@example.com. You have to set an validate email.
The smtp server use gmail smtp. So you have to set up username and password in config.properties. Modify the following two values.

cmd: java -cp xacml-0.5-jar-with-dependencies.java xacml3.Xacml3
Note: you have to put log4j.xml, config.properties in the same folder as this jar file. You also need to copy request and policy xmls to the coresponding folder given in the config.properties.

EmailUserName=test@gmail.com
EmailPassWord=test

If the email fails to send an email, the decision of the default test is deny. Otherwise, the decision is permit.