    {:protector (if-let [boilerplate (:boilerplate opts)]
                  (new-login-form :boilerplate boilerplate)
                  (new-login-form))
-    :user-password-authorizer (new-map-backed-user-registry {"malcolm" "password"})
+    :user-password-authorizer (component/using (new-user-domain) [:password-store])
+    :password-store (new-password-file (:password-file opts))
     :http-session-store (new-atom-backed-session-store
                          (or (:session-timeout-in-seconds opts)
                              10))}))


(ns modular.entrance
  (:require
   [bidi.bidi :as bidi :refer (path-for resolve-handler unresolve-handler ->WrapMiddleware)]
   [modular.bidi :as modbidi :refer (BidiRoutesContributor routes context)]
   [schema.core :as s]

   [hiccup.core :refer (html)]
   [com.stuartsierra.component :as component])
  (:import
   java.security.SecureRandom
   javax.crypto.SecretKeyFactory
   javax.crypto.spec.PBEKeySpec
   (javax.xml.bind DatatypeConverter)))

(defprotocol HttpRequestAuthorizer
