Merge pull request #369 from mchughs/patch-1

Update dynamic_extensions.md
This commit is contained in:
Tommi Reiman 2020-03-04 20:53:41 +02:00 committed by GitHub
commit a99bb1795e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -9,9 +9,9 @@ Example middleware to guard routes based on user roles:
(require '[clojure.set :as set]) (require '[clojure.set :as set])
(defn wrap-enforce-roles [handler] (defn wrap-enforce-roles [handler]
(fn [{::keys [roles] :as request}] (fn [{:keys [my-roles] :as request}]
(let [required (some-> request (ring/get-match) :data ::roles)] (let [required (some-> request (ring/get-match) :data ::roles)]
(if (and (seq required) (not (set/subset? required roles))) (if (and (seq required) (not (set/subset? required my-roles)))
{:status 403, :body "forbidden"} {:status 403, :body "forbidden"}
(handler request))))) (handler request)))))
``` ```
@ -48,7 +48,7 @@ Anonymous access to guarded route:
Authorized access to guarded route: Authorized access to guarded route:
```clj ```clj
(app {:request-method :get, :uri "/api/admin/ping", ::roles #{:admin}}) (app {:request-method :get, :uri "/api/admin/ping", :my-roles #{:admin}})
; {:status 200, :body "ok"} ; {:status 200, :body "ok"}
``` ```