servlet集成了clojure/ring中的安全性?

jor*_*geu 5 clojure ring

我一直在寻找一种很好的方法来利用环网应用程序中现有servlet容器的集成安全性.看起来人们试图用他们自己的环中间件重新发明轮子来处理身份验证/授权.

我希望看到像环中间件暴露领域配置和一些安全约束的东西.就像是:

(def web-appp 
  (wrap-security-constraints [{:transport :confidential}] ; require SSL
    (wrap-security-auth [{:pattern "/*" 
                          :type "form"
                          :ext-form-url "/login" 
                          :realm "users-realm"}]
       app-handler)))

然后是一个宏来包装允许限制某些角色的处理程序

(defroutes app-handler
  (GET "/admin" [] 
     (wrap-allowed-roles ["admin-role"]
       (controllers/do-admin)))
  ;... and so on ...

想到这里有一个lein-ring扩展.

那里有这样的东西吗?谷歌搜索没有帮助这里

ord*_*rig 0

有用于基本认证的ring-basic-authentication。在 servlet 上下文中,您始终可以回退到 servlet 引擎的身份验证和授权处理。为此,您可以使用leiningen-war创建 Web 存档并在 web.xml 中声明安全约束。