From ec301e9b3cd1ae3a2bbdd71a9a480bfab6c0ca94 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Fri, 25 Nov 2011 11:27:38 +0100 Subject: Require authentication on wiki access. --- src/mulk/benki/util.clj | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src/mulk/benki/util.clj') diff --git a/src/mulk/benki/util.clj b/src/mulk/benki/util.clj index ea8ceae..fd2e353 100644 --- a/src/mulk/benki/util.clj +++ b/src/mulk/benki/util.clj @@ -2,7 +2,10 @@ (:refer-clojure) (:use [hiccup core page-helpers] [clojure.core.match.core :only [match]] - noir.core)) + noir.core) + (:require [noir.session :as session] + [noir.request :as request] + [noir.response :as response])) (def fmt clojure.pprint/cl-format) @@ -46,3 +49,13 @@ (defn link [& args] (match [(vec args)] [[:wiki title & xs]] (fresolve "/wiki/~a~@[~a~]" title (first xs)))) + +(defn call-with-auth [thunk] + (println (request/ring-request)) + (if (session/get :user) + (thunk) + (do (session/flash-put! (:uri (request/ring-request))) + (response/redirect "/login")))) + +(defmacro with-auth [& body] + `(call-with-auth (fn [] ~@body))) -- cgit v1.2.3