I only had a brief look and was wondering whether you had considered the following questions:
- I'm not a fan of using a static attribute to store the Authorisation object and all the rules, this could lead to problems in clustered environments or when multiple applications share an appserver (I'm thinking shared classloader problems with JBoss here)
- The canny engine provides no out-of-the-box functionality for dynamically accessing authorisation stores. As far as I can tell in order to get user/permission information from LDAP or a database, a custom rule needs to be created.
- I'm not sure whether having the definitions of the rules in code is the best place, as it will mean having to rewrite/rebuild/redeploy code to change the rules.
Note, maybe I have misunderstood some of the concerns, but the readme and test classes were a little bit sparse.
Personally, Spring Security has been my Authentication/Authorisation framework of choice.
Hope that helps.