我不确定如何在数据库中存储Friend
个角色。我可以存储字符串"#{::user}"
或存储"user"
并在检索时对其进行转换。前者是坏juju,我不确定如何做后者而不让天使哭。
(ns foo.handler
(:require [cemerick.friend :as friend]
(cemerick.friend [workflows :as workflows]
[credentials :as creds])))
;; A dummy in-memory user "database"
(def users {"root" {:username "root"
:password (creds/hash-bcrypt "admin")
:roles #{::admin}}
"jane" {:username "jane"
:password (creds/hash-bcrypt "pw")
:roles #{::user}}})
(derive ::admin ::user)
答案 0 :(得分:0)
这就是我目前正在做的事情;我确定这种情况很糟糕。有人请阻止我。从从数据库中提取的"user"
开始:
foo.handler> #{(keyword (str *ns* "/" "user"))}
=> #{:foo.handler/user}