anchor.diff:  
   The access rule options always takes precedence over the global ones.
   
  -
  -If you don't want an external rules list and simply want to apply some rules to specific
  -ring views/handlers, you can use the `restrict` decorator.
  -
  -
  -.Using _restrict_ decorator.
  +Then, if you don't want an external rules list and simply want to apply some rules to specific
  +ring views/handlers, you can use the `restrict` decorator. Let see it in action:
  +
   [source, clojure]
   ----
   (require '[buddy.auth.accessrules :refer [restrict]])
  
positive.code: | Http Basic   | `buddy.auth.backends.httpbasic`
  | Session      | `buddy.auth.backends.session`
  | Token        | `buddy.auth.backends.token`
  | Jws Token    | `buddy.auth.backends.token`
  |================================================
  
  If you are not happy with built-in backends, you can implement your own and use it with
  Buddy middleware without any problem.
  
  Authentication in Buddy has two phases:
  
  1. *parse*: parsing incoming request headers, parameters etc...
  2. *authenticate*: having parsed data, do the authentication process, such as calling
  
negative.code:   (response "Hello World"))
  ----
  
  Just like the authentication system, authorization is also implemented using protocols.
  
  All built-in backends are already implements the autorization protocol with default behavior. The
  default behavior can be overwritted passing the `:unauthorized-handler` option to the backend
  constructor:
  
  [source,clojure]
  ----
  (require '[buddy.auth.backends.httpbasic :refer [http-basic-backend]])
  (require '[buddy.auth.middleware :refer [wrap-authentication wrap-authorization]])
  
  ;; Simple self difined handler for unauthorized requests.
  (defn my-unauthorized-handler
    [request metadata]
    (-> (response "Unauthorized request")
        (assoc :status 403)))
  
  (def backend (http-basic-backend
                {:realm "API"
                 :authfn my-auth-fn
                 :unauthorized-handler my-unauthorized-handler}))
  
  (def app (-> your-handler
               (wrap-authentication backend)
               (wrap-authorization backend)))
  ----
  
  [[access-rules]]
  === Access Rules
  
  The access rules system is another part of authorization. It consists of matching an url to
  specific access rules logic.
  