anchor.diff:  - access rules system based on matching urls using regular expressions and apply some
     rules handlers. The idea is taken from `lib-noir` but with slighty distinct approach.
   
  +
   Generic authorization
   ^^^^^^^^^^^^^^^^^^^^^
   
  -Authentication and authorization systems on _buddy_ are implemented using protocols for allow
  -easy way to extend or implement own method.
  -
  -Previously explained authentication backends, implements authorization protocol, allowing
  -use one backend for both purposes: authentication or/and authorization.
  -
  -Any authorization backend should implement a deterministic flow for handle not authorized
  -exceptions. By default, each builtin backend has its own default flow for handle not authorized
  -requests. Additionaly them exposes a simple way to overwrite the default behavior passing
  -a custom exception handler to `:unauthorized-handler` parameter in the backend constructor.
  -
  -As example, the default behavior of http basic auth backend, is:
  -
  -- If a user is authenticated, and *notauthorized* exception is raised, 403 response is returned automaticaly.
  -- If a user is anonymosus, 401 response with `WWW-Authenticate` is returned.
  -
  -Similar behavior are implemented in other backends.
  -
  -.Incomplete example of how overwrite unauthorized handler behavior.
  +This authorization system encapsulates your hadlers/controllers in one try/catch block
  +catching only notauthorized exceptions. So spliting unauthorized request handling code from
  +your handlers/controllers in a separate function. Moreover, permits fast return when
  +not authorized request is detected.
  +
  +Like authentication system, authorization is also implemented using protocols. Taking advantage of
  +it, all builtin authentication backends implements authorization protocol.
  +
  +Some authentication backends requires specific behavior on authorization layer (like http-basic
  +that should return `WWW-Authenticate` header when request is unauthorized) and by default, all
  +builtin backends implements specific bahavior.
  +
  +NOTE: You can overwrite the default handler, passing your own exception handler function as
  +`:unauthorized-handler` keyword parameter to backend constructor.
  +
  +
  +.Example of how overwrite default behavior for unauthorized requests.
   [source,clojure]
   ----
   (ns myns.somensfile
  
positive.code: Introduction
  ------------
  
  _buddy_ is a simple authentication, authorization and signing library for clojure.
  It's designed with simplicity in mind and high level framework agnostic
  (it only depends on ring) following the principle of single responsability.
  
  
negative.code: ;; ok var reference should contain true
  ----
  
  [NOTE]
  `make-password` accept distinct parameters depending on hasher implementation.
  
  In previous example we use *bcrypt* hasher but _buddy_ also support many other
  hasher algorithm by default.
  
  This is a complete list of implemented hashers:
  
  