Skip to content

Commit

Permalink
update friend-acl to 0.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
marianoguerra committed Jan 7, 2013
1 parent 1465121 commit 318e52f
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 16 deletions.
Expand Up @@ -5,7 +5,7 @@
<title>login</title>
</head>
<body>
<form method="POST" action="../api/login">
<form method="POST" action="api/login">
<fieldset>
<legend>login</legend>
<p>
Expand All @@ -22,11 +22,11 @@

<p>try accessing some of this links while logged in with jane, root or logged out:</p>
<ul>
<li><a href="../api/logout">logout</a></li>
<li><a href="../api/auth">shows auth information</a></li>
<li><a href="../api/ping">ping that anyone can access</a></li>
<li><a href="../api/user-only-ping">ping that only user role can access (jane)</a></li>
<li><a href="../api/admin-only-ping">ping that only admin role can access (root)</a></li>
<li><a href="api/logout">logout</a></li>
<li><a href="api/auth">shows auth information</a></li>
<li><a href="api/ping">ping that anyone can access</a></li>
<li><a href="api/user-only-ping">ping that only user role can access (jane)</a></li>
<li><a href="api/admin-only-ping">ping that only admin role can access (root)</a></li>
</ul>
</body>
</html>
25 changes: 15 additions & 10 deletions friend-acl/immutant.clj → friend-acl/src/immutant/init.clj
@@ -1,4 +1,4 @@
(ns friend-acl.init
(ns immutant.init
(:use
[ring.util.response :only (redirect)]
ring-router.core
Expand Down Expand Up @@ -33,7 +33,7 @@
:body "file not found"})

(defn logout [request]
(redirect "../api/login"))
(redirect "../login.html"))

(defn serve-file [file-path]
(fn [request]
Expand All @@ -47,28 +47,33 @@
:body (json-str data)})

(defn login-failed [request]
(redirect "/friend-acl/api/login"))
(redirect "/friend-acl/login.html"))

(defn ping [request]
(json-response "pong"))

(defn current-authentication [request]
(json-response {:auth (friend/current-authentication) :id (friend/identity request)}))

(def app (router
(defn or-not-found [handler]
(fn [request]
(let [response (handler request)]
(if response
response
(not-found request)))))

(def app (or-not-found (web/wrap-resource (router
[(GET "/api/ping" ping)
(GET "/api/login" (ring-file-info/wrap-file-info (serve-file "public/s/login.html")))
(GET "/api/login" (redirect "../login.html"))
(GET "/api/logout" (friend/logout logout))
(GET "/api/auth" current-authentication)
(GET "/api/user-only-ping" (friend/wrap-authorize ping [::user]))
(GET "/api/admin-only-ping" (friend/wrap-authorize ping [::admin]))
(GET "/s/*" (-> not-found
(ring-file/wrap-file "public/s/")
(ring-file-info/wrap-file-info)))]))
(GET "/api/admin-only-ping" (friend/wrap-authorize ping [::admin]))]) "/s/")))

(def secure-app (-> app
(friend/authenticate
{:login-uri "/friend-acl/api/login"
{:login-uri "/friend-acl/login.html"
:default-landing-uri "/friend-acl/login.html"
:unauthorized-handler unauthorized-handler
:workflows [(workflows/interactive-form
:login-uri "/friend-acl/api/login"
Expand Down

0 comments on commit 318e52f

Please sign in to comment.